X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F28-is_deeply-deep.t;fp=t%2F28-is_deeply-deep.t;h=2beae5006d0465ae1b757b65e77c2ba7e1045122;hb=bf415eb37f8b169a2c077a54f089d361787a86dc;hp=0000000000000000000000000000000000000000;hpb=9c79bce8bb6da45e4a032fe8354d5bfc73a648bb;p=perl%2Fmodules%2FTest-Leaner.git diff --git a/t/28-is_deeply-deep.t b/t/28-is_deeply-deep.t new file mode 100644 index 0000000..2beae50 --- /dev/null +++ b/t/28-is_deeply-deep.t @@ -0,0 +1,46 @@ +#!perl -T + +use strict; +use warnings; + +use Test::Leaner tests => 2; + +sub create_chain { + my ($l, $n) = @_; + + $n = 1 unless defined $n; + $l = 45 unless defined $l; + + return \(\$n) if $l <= 0; + + [ + [ 0, \(\$n) ], + 1, + { a => create_chain($l - 1, $n + 1) }, + ] +} + +my $c1 = create_chain; +my $c2 = create_chain; + +is_deeply $c1, $c2, 'a deep chain structure'; + +sub create_tree { + my ($l, $n) = @_; + + $n = 1 unless defined $n; + $l = 10 unless defined $l; + + return \(\$n) if $l <= 0; + + [ + { a => create_tree($l - 1, 2 * $n) }, + 1, + { b => create_tree($l - 1, 2 * $n + 1) }, + ] +} + +my $t1 = create_tree; +my $t2 = create_tree; + +is_deeply $t1, $t2, 'a deep tree structure';