1 use Test::More tests => 52;
10 my @result = SL::Util::_hashify(@_);
11 return scalar(@result);
17 my @result = SL::Util::_hashify(@_);
18 splice @result, 0, $keep;
20 return '<empty>' if !@result;
21 return '<odd-sized>' if scalar(@result) % 2;
27 my $href = { 42 => 54, unicorn => 'charlie' };
28 my %hash = ( 23 => 13, chunky => 'bacon' );
30 is(numtest(0, $href), 4, 'case A1');
31 is(numtest(0, %hash), 4, 'case A2');
32 is(numtest(1, $href), 1, 'case A3');
33 is(numtest(1, %hash), 4, 'case A4');
34 is(numtest(2, $href), 1, 'case A5');
35 is(numtest(2, %hash), 4, 'case A6');
36 is(numtest(3, $href), 1, 'case A7');
37 is(numtest(3, %hash), 4, 'case A8');
38 is(numtest(4, $href), 1, 'case A9');
39 is(numtest(4, %hash), 4, 'case A10');
40 is(numtest(5, $href), 1, 'case A11');
41 is(numtest(5, %hash), 4, 'case A12');
43 is(numtest(0, 'dummy1', $href), 2, 'case B1');
44 is(numtest(0, 'dummy1', %hash), 5, 'case B2');
45 is(numtest(1, 'dummy1', $href), 5, 'case B3');
46 is(numtest(1, 'dummy1', %hash), 5, 'case B4');
47 is(numtest(2, 'dummy1', $href), 2, 'case B5');
48 is(numtest(2, 'dummy1', %hash), 5, 'case B6');
49 is(numtest(3, 'dummy1', $href), 2, 'case B7');
50 is(numtest(3, 'dummy1', %hash), 5, 'case B8');
51 is(numtest(4, 'dummy1', $href), 2, 'case B9');
52 is(numtest(4, 'dummy1', %hash), 5, 'case B10');
53 is(numtest(5, 'dummy1', $href), 2, 'case B11');
54 is(numtest(5, 'dummy1', %hash), 5, 'case B12');
56 is(numtest(0, 'dummy1', 'dummy2', $href), 3, 'case C1');
57 is(numtest(0, 'dummy1', 'dummy2', %hash), 6, 'case C2');
58 is(numtest(1, 'dummy1', 'dummy2', $href), 3, 'case C3');
59 is(numtest(1, 'dummy1', 'dummy2', %hash), 6, 'case C4');
60 is(numtest(2, 'dummy1', 'dummy2', $href), 6, 'case C5');
61 is(numtest(2, 'dummy1', 'dummy2', %hash), 6, 'case C6');
62 is(numtest(3, 'dummy1', 'dummy2', $href), 3, 'case C7');
63 is(numtest(3, 'dummy1', 'dummy2', %hash), 6, 'case C8');
64 is(numtest(4, 'dummy1', 'dummy2', $href), 3, 'case C9');
65 is(numtest(4, 'dummy1', 'dummy2', %hash), 6, 'case C10');
66 is(numtest(5, 'dummy1', 'dummy2', $href), 3, 'case C11');
67 is(numtest(5, 'dummy1', 'dummy2', %hash), 6, 'case C12');
69 is(memtest(42, 0, $href), '54', 'case D1');
70 is(memtest(23, 0, %hash), '13', 'case D2');
71 is(memtest('unicorn', 0, $href), 'charlie', 'case D3');
72 is(memtest('chunky', 0, %hash), 'bacon', 'case D4');
73 is(memtest(42, 1, $href), '<empty>', 'case D5');
74 is(memtest(23, 1, %hash), '<odd-sized>', 'case D6');
76 is(memtest(42, 0, 'dummy1', $href), undef, 'case E1');
77 is(memtest(23, 0, 'dummy1', %hash), '<odd-sized>', 'case E2');
78 is(memtest('unicorn', 0, 'dummy1', $href), undef, 'case E3');
79 is(memtest(42, 1, 'dummy1', $href), '54', 'case E4');
80 is(memtest(23, 1, 'dummy1', %hash), '13', 'case E5');
81 is(memtest('unicorn', 1, 'dymmy1', $href), 'charlie', 'case E6');
82 is(memtest('chunky', 1, 'dummy1', %hash), 'bacon', 'case E7');
83 is(memtest(42, 2, 'dummy1', $href), '<empty>', 'case E8');
84 is(memtest(23, 2, 'dummy1', %hash), '<odd-sized>', 'case E9');