Games-Solitaire-Verify
view release on metacpan or search on metacpan
t/from-patsolve.t view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use autodie;
use Path::Tiny qw/ path /;
use Test::Differences (qw( eq_or_diff ));
require 5.008;
use Test::More tests => 6;
use Games::Solitaire::Verify::App::CmdLine::From_Patsolve ();
my $sol_fn =
path('t/data/sample-solutions/patsolve-338741497-win-solution.txt');
my $board_fn = path('t/data/boards/338741497.board');
{
my $obj = Games::Solitaire::Verify::App::CmdLine::From_Patsolve->new(
{
argv => [ qw(-g freecell), $board_fn, $sol_fn, ],
}
);
$obj->_read_initial_state();
# TEST
ok( 1, "_read_initial_state is successful." );
$obj->_perform_move("2S to temp");
# TEST
eq_or_diff(
scalar( $obj->_get_buffer ),
<<"EOF",
-=-=-=-=-=-=-=-=-=-=-=-
Foundations: H-0 C-0 D-0 S-0
Freecells:
: QD 5S JC 3S 9H 3C 9S
: QH QC 3D 5H 2C 7D KS
: 9D 3H JH JS 4S AC 2H
: AS 5D 4C TC TD 2D KC
: AH 6H KD KH TH QS
: JD TS 8C 5C 6C 2S
: 8D 8H 8S 6S 6D 9C
: AD 7H 7S 7C 4H 4D
====================
Move a card from stack 5 to freecell 0
Foundations: H-0 C-0 D-0 S-0
Freecells: 2S
: QD 5S JC 3S 9H 3C 9S
: QH QC 3D 5H 2C 7D KS
: 9D 3H JH JS 4S AC 2H
: AS 5D 4C TC TD 2D KC
: AH 6H KD KH TH QS
: JD TS 8C 5C 6C
: 8D 8H 8S 6S 6D 9C
: AD 7H 7S 7C 4H 4D
( run in 1.085 second using v1.01-cache-2.11-cpan-6aa56a78535 )