38 lines
584 B
Perl
38 lines
584 B
Perl
use 5.38.0;
|
|
|
|
use Test2::V0;
|
|
|
|
use Path::Tiny;
|
|
|
|
use Part1;
|
|
|
|
my $input = path('input')->slurp;
|
|
|
|
my $example = <<'END';
|
|
467..114..
|
|
...*......
|
|
..35..633.
|
|
......#...
|
|
617*......
|
|
.....+.58.
|
|
..592.....
|
|
......755.
|
|
...$.*....
|
|
.664.598..
|
|
END
|
|
|
|
is [Part1::find_numbers('467..114..')] => [
|
|
{ n => 467, prefix => 0, length =>3 },
|
|
{ n => 114, prefix => 5, length =>3 },
|
|
];
|
|
|
|
my @n = Part1::numbers_near_symbols($example);
|
|
is 0+@n => 8;
|
|
is [ map { $_->{n}} @n] => [467,35,633,617,592,755,664,598];
|
|
|
|
is Part1::solution_1($example) => 4361;
|
|
|
|
is Part1::solution_1($input) => 'TODO';
|
|
|
|
done_testing;
|