6 use Test::More tests => 34;
10 my $sn = Sub::Nary->new();
15 [ sub { delete $h{foo} }, 1 ],
16 [ sub { delete @h{qw/foo bar baz/} }, 3 ],
18 [ sub { return <$x> }, 'list' ],
20 [ sub { -f $0, -r $0 }, 2 ],
22 [ sub { return caller 0 }, sub { my @a = caller 0; scalar @a }->() ],
23 [ sub { return localtime }, do { my @a = localtime; scalar @a } ],
24 [ sub { gmtime }, do { my @a = gmtime; scalar @a } ],
26 [ sub { each %h }, { 0 => 0.5, 2 => 0.5 } ],
27 [ sub { stat $0 }, { 0 => 0.5, 13 => 0.5 } ],
29 [ sub { do { getpwnam 'root' } }, { 0 => 0.5, 10 => 0.5 } ],
30 [ sub { 1; getpwuid '0' }, { 0 => 0.5, 10 => 0.5 } ],
31 [ sub { eval { return getpwent } }, { 0 => 0.5, 10 => 0.5 } ],
33 [ sub { do { getgrnam 'root' } }, { 0 => 0.5, 4 => 0.5 } ],
34 [ sub { 1; getgrgid '0' }, { 0 => 0.5, 4 => 0.5 } ],
35 [ sub { eval { return getgrent } }, { 0 => 0.5, 4 => 0.5 } ],
37 [ sub { do { gethostbyname 'localhost' } }, 'list' ],
38 [ sub { 1; gethostbyaddr '', '' }, 'list' ],
39 [ sub { eval { return gethostent } }, 'list' ],
41 [ sub { do { getnetbyname '' } }, { 0 => 0.5, 4 => 0.5 } ],
42 [ sub { 1; getnetbyaddr '', '' }, { 0 => 0.5, 4 => 0.5 } ],
43 [ sub { eval { return getnetent } }, { 0 => 0.5, 4 => 0.5 } ],
45 [ sub { do { getprotobyname 'tcp' } }, { 0 => 0.5, 3 => 0.5 } ],
46 [ sub { 1; getprotobynumber 6 }, { 0 => 0.5, 3 => 0.5 } ],
47 [ sub { eval { return getprotoent } }, { 0 => 0.5, 3 => 0.5 } ],
49 [ sub { do { getservbyname 'ssh', 'tcp' } }, { 0 => 0.5, 4 => 0.5 } ],
50 [ sub { 1; getservbyport 22, 'tcp' }, { 0 => 0.5, 4 => 0.5 } ],
51 [ sub { eval { return getservent } }, { 0 => 0.5, 4 => 0.5 } ],
53 [ sub { endpwent }, 1 ],
54 [ sub { endgrent }, 1 ],
55 [ sub { endhostent }, 1 ],
56 [ sub { endnetent }, 1 ],
57 [ sub { endprotoent }, 1 ],
58 [ sub { endservent }, 1 ],
65 my $r = $sn->nary($_->[0]);
66 my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 };
67 is_deeply($r, $exp, 'ops test ' . $i);