1#!/usr/bin/perl 2 3use lib qw/t lib/; 4use strict; 5use warnings; 6use Test::More tests => 21; 7 8use Games::Tournament::RoundRobin; 9use Games::League::Member; 10 11my $t = Games::Tournament::RoundRobin->new( v => 4, league => [ 0,1,2,3 ]); 12is($t->member(0), 0, 'member 0'); 13is($t->member(1), 1, 'member 1'); 14is($t->member(2), 2, 'member 2'); 15is($t->member(3), 3, 'member 3'); 16 17$t = Games::Tournament::RoundRobin->new( v => 19, league => [ 0..18 ]); 18is($t->member(0), 0, 'member 0'); 19is($t->member(1), 1, 'member 1'); 20is($t->member(2), 2, 'member 2'); 21is($t->member(10), 10, 'member 10'); 22is($t->member(17), 17, 'member 17'); 23is($t->member(18), 18, 'member 18'); 24is($t->member(19), 19, 'member 19'); 25 26is(Games::Tournament::RoundRobin->new( v => 3, league => [qw/Me You It/])->member(0), 'Me', 'member($index) with league array of strings'); 27is(Games::Tournament::RoundRobin->new( v => 3, league => [qw/Me You It/])->member('You'), 'You', 'member($name), with league array of strings'); 28 29is(Games::Tournament::RoundRobin->new( v => 5, league => { Me => 0, You => 1, It => 2 } )->member(1), 0, 'member($index): hash with numerical values'); 30TODO: { local $TODO = 'Discarded key, no way to find member($name)'; 31is(Games::Tournament::RoundRobin->new( v => 5, league => { Me => 0, You => 1, It => 2 } )->member('Me'), 0, 'member($name): hash with numerical values'); 32} 33 34is(Games::Tournament::RoundRobin->new( v => 5, league => { Me => 'Me', You => 'You', It => 'It' } )->member(3), 'Bye', 'member($index): hash with string values'); 35is (Games::Tournament::RoundRobin->new( v => 5, league => { Me => 'Me', You => 'You', It => 'It' } )->member('Me'), 'Me', 'member($name): hash with string values'); 36 37use Games::League::Member; 38 39my $m = Games::League::Member->new( index => 0, name => 'Me' ); 40my $y = Games::League::Member->new( index => 1, name => 'You' ); 41my $i = Games::League::Member->new( index => 2, name => 'It' ); 42 43$t = Games::Tournament::RoundRobin->new( league => [ $m, $y, $i ] ); 44is( $t->member(2), $i, 'member($index): array of objects'); 45my $bye = $t->member(3); 46is($t->member('Bye'), $bye, 'member($name): array of objects'); 47 48my $u = Games::League::Member->new( index => 3, name => 'Us' ); 49my $a = Games::League::Member->new( index => 4, name => 'All' ); 50$t = Games::Tournament::RoundRobin->new( v => 5, league => { Me => $m, You => $y, It => $i, Us => $u, All => $a } ); 51is( $t->member(4), $a, 'member($index): hash of objects'); 52$bye = $t->member(5); 53is($t->member('Bye'), $bye, 'member($name): hash of objects'); 54