adventofcode/2023/08/part2.t

45 lines
934 B
Perl

use 5.38.0;
use Test2::V0;
use Path::Tiny;
use File::Serialize;
use Part2;
my $input = path('input')->slurp;
my $example = <<END;
LR
11A = (11B, XXX)
11B = (XXX, 11Z)
11Z = (11B, XXX)
22A = (22B, XXX)
22B = (22C, 22C)
22C = (22Z, 22Z)
22Z = (22B, 22B)
XXX = (XXX, XXX)
END
my %solutions = deserialize_file('solutions.yml')->%*;
my $parsed = Part1::parse_input($example);
#is [Part2::get_cycle('11A',$parsed->{directions},$parsed->{nodes})] => [1,2];
##use DDP; my @x = Part2::get_cycle('22A',$parsed->{directions},$parsed->{nodes});p @x;
#is [Part2::get_cycle('22A',$parsed->{directions},$parsed->{nodes})] => [1,2,3];
is Part2::solution_2($example) => 6;
$parsed = Part1::parse_input($input);
# my @initial = grep { /A$/ } keys $parsed->{nodes}->%*;
# for (@initial ) {
# say join " ", Part2::get_cycle($_,$parsed->{directions},$parsed->{nodes});
# }
is Part2::solution_2($input) => $solutions{2};
done_testing;