X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F16-combine.t;h=bfd9d4e86a48401a68092c739cc8e02f3de7dd2f;hb=3a7f23b3ef06db23f3bd2f2707e70b61c6a15b4f;hp=7f0b459e35cdd8511c339352763d5dd7b7fb6985;hpb=f7ae222ad94ed89e55b76c4eebcbdb38077133c1;p=perl%2Fmodules%2FSub-Nary.git diff --git a/t/16-combine.t b/t/16-combine.t index 7f0b459..bfd9d4e 100644 --- a/t/16-combine.t +++ b/t/16-combine.t @@ -3,7 +3,7 @@ use strict; use warnings; -use Test::More tests => 41; +use Test::More tests => 60; use Sub::Nary; @@ -12,7 +12,11 @@ use Sub::Nary; my $h12 = { 1 => 0.5, 2 => 0.5 }; my $h1l = { 1 => 0.5, list => 0.5 }; my $h1e = { 1 => 0.5, exit => 0.5 }; +my $h1d = { 1 => 0.5, die => 0.5 }; my $h1le = { 1 => 0.25, list => 0.25, exit => 0.5 }; +my $h12e = { 1 => 0.25, 2 => 0.25, exit => 0.5 }; +my $h1ld = { 1 => 0.25, list => 0.25, die => 0.5 }; +my $h12d = { 1 => 0.25, 2 => 0.25, die => 0.5 }; my @tests = ( [ [ ], undef ], @@ -57,11 +61,44 @@ my @tests = ( [ [ 'exit', 1 ], 'exit' ], [ [ { %$h1e }, 1 ], { exit => 0.5, 2 => 0.5 } ], [ [ { %$h1e }, { %$h1e } ], { exit => 0.75, 2 => 0.25 } ], + [ [ { %$h1e }, { %$h1l } ], { exit => 0.5, list => 0.25, 2 => 0.25 } ], [ [ { %$h1l }, { %$h1e } ], { exit => 0.5, list => 0.25, 2 => 0.25 } ], [ [ { %$h1l }, { %$h1le } ], { exit => 0.5, list => 0.375, 2 => 0.125 } ], [ [ { %$h1e }, { %$h1le } ], { exit => 0.75, list => 0.125, 2 => 0.125 } ], + [ [ 'die' ], 'die' ], + [ [ 'die', 2 ], 'die' ], + [ [ { %$h1d }, 2 ], { die => 0.5, 3 => 0.5 } ], + [ [ { %$h1d }, 1 ], { die => 0.5, 2 => 0.5 } ], + [ [ { %$h1d }, { %$h1d } ], { die => 0.75, 2 => 0.25 } ], + + [ [ { %$h1d }, { %$h1l } ], { die => 0.5, list => 0.25, 2 => 0.25 } ], + [ [ { %$h1l }, { %$h1d } ], { die => 0.5, list => 0.25, 2 => 0.25 } ], + [ [ { %$h1l }, { %$h1ld } ], { die => 0.5, list => 0.375, 2 => 0.125 } ], + [ [ { %$h1d }, { %$h1ld } ], { die => 0.75, list => 0.125, 2 => 0.125 } ], + + [ [ { %$h1e }, { %$h1d } ], { exit => 0.5, die => 0.25, 2 => 0.25 } ], + [ [ { %$h1d }, { %$h1e } ], { exit => 0.25, die => 0.5, 2 => 0.25 } ], + [ [ { %$h1e }, { %$h1ld } ], { exit => 0.5, die => 0.25, + list => 0.125, 2 => 0.125 } ], + [ [ { %$h1d }, { %$h1le } ], { exit => 0.25, die => 0.5, + list => 0.125, 2 => 0.125 } ], + + [ [ { %$h12d }, { %$h1le } ], { exit => 0.25, die => 0.5, + list => 0.125, 2 => 0.0625, 3 => 0.0625 } ], + [ [ { %$h12e }, { %$h1ld } ], { exit => 0.5, die => 0.25, + list => 0.125, 2 => 0.0625, 3 => 0.0625 } ], + [ [ { %$h1ld }, { %$h12e } ], { exit => 0.25, die => 0.5, + list => 0.125, 2 => 0.0625, 3 => 0.0625 } ], + [ [ { %$h1le }, { %$h12d } ], { exit => 0.5, die => 0.25, + list => 0.125, 2 => 0.0625, 3 => 0.0625 } ], + + [ [ { %$h1ld }, { %$h1le } ], { exit => 0.25, die => 0.5, + list => 0.1875, 2 => 0.0625 } ], + [ [ { %$h1le }, { %$h1ld } ], { exit => 0.5, die => 0.25, + list => 0.1875, 2 => 0.0625 } ], + [ [ $h1l, $h1l ], { 2 => 0.25, list => 0.5 } ], # Side effects );