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');