aboutsummaryrefslogtreecommitdiff
path: root/challenge-334/feng-chang/raku/test.raku
blob: f3bc51eeaf2f083a4cad679e78a3bb418f6e1fd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/env raku

# The Weekly Challenge 334
use Test;

sub pwc-test(Str:D $script, Bool :$deeply? = False, *@input) {
    my ($expect, $assertion) = @input.splice(*-2, 2);
    my $p = run $script, |@input, :out;
    if $deeply {
        is-deeply $p.out.slurp(:close).chomp.words.Bag, $expect, $assertion;
    } else {
        is $p.out.slurp(:close).chomp, $expect, $assertion;
    }
}

# Task 1, Range Sum
pwc-test './ch-1.raku', <-- -2 0 3 -5 2 -1 0 2>,  1, 'Range Sum: (-2,0,3,-5,2,-1), 0..2 =>  1';
pwc-test './ch-1.raku', <-- 1 -2 3 -4 5 1 3>,    -3, 'Range Sum: (1,-2,3,-4,5),    1..3 => -3';
pwc-test './ch-1.raku', <-- 1 0 2 -1 3 3 4>,      2, 'Range Sum: (1,0,2,-1,3),     3..4 =>  2';
pwc-test './ch-1.raku', <-- -5 4 -3 2 -1 0 0 3>, -2, 'Range Sum: (-5,4,-3,2,-1,0), 0..3 => -2';
pwc-test './ch-1.raku', <-- -1 0 2 -3 -2 1 0 2>,  1, 'Range Sum: (-1,0,2,-3,-2,1), 0..2 =>  1';

# Task 2
pwc-test './ch-2.raku', '3, 4, [1,2],[3,1],[2,4],[2,3]', 2, 'Task 2: $x=3,$y=4, @points=[1,2],[3,1],[2,4],[2,3] =>  2';
pwc-test './ch-2.raku', '2, 5, [3,4],[2,3],[1,5],[2,5]', 3, 'Task 2: $x=2,$y=5, @points=[3,4],[2,3],[1,5],[2,5] =>  3';
pwc-test './ch-2.raku', '1, 1, [2,2],[3,3],[4,4]',      -1, 'Task 2: $x=1,$y=1, @points=[2,2],[3,3],[4,4]       => -1';
pwc-test './ch-2.raku', '0, 0, [0,1],[1,0],[0,2],[2,0]', 0, 'Task 2: $x=0,$y=0, @points=[0,1],[1,0],[0,2],[2,0] =>  0';
pwc-test './ch-2.raku', '5, 5, [5,6],[6,5],[5,4],[4,5]', 0, 'Task 2: $x=5,$y=5, @points=[5,6],[6,5],[5,4],[4,5] =>  0';