Cross Reference: SubstrHash.t
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
lib
/
Tie
/
SubstrHash.t
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
1
N/A
#!/
usr
/
bin
/
perl
-w
1
N/A
#
1
N/A
1
N/A
BEGIN
{
1
N/A
chdir
't'
if
-d
't'
;
1
N/A
@
INC
=
'.'
;
1
N/A
push
@
INC
,
'../lib'
;
1
N/A
}
1
N/A
1
N/A
print
"1..20\n"
;
1
N/A
1
N/A
use
strict
;
1
N/A
1
N/A
require
Tie
::
SubstrHash
;
1
N/A
1
N/A
my
%a;
1
N/A
1
N/A
tie
%a,
'Tie::SubstrHash'
,
3
,
3
,
3
;
1
N/A
1
N/A
$a{
abc
} =
123
;
1
N/A
$a{
bcd
} =
234
;
1
N/A
1
N/A
print
"not "
unless
$a{
abc
} ==
123
;
1
N/A
print
"ok 1\n"
;
1
N/A
1
N/A
print
"not "
unless
keys
%a ==
2
;
1
N/A
print
"ok 2\n"
;
1
N/A
1
N/A
delete
$a{
abc
};
1
N/A
1
N/A
print
"not "
unless
$a{
bcd
} ==
234
;
1
N/A
print
"ok 3\n"
;
1
N/A
1
N/A
print
"not "
unless
(
values
%a)
[
0
] ==
234
;
1
N/A
print
"ok 4\n"
;
1
N/A
1
N/A
eval
{ $a{
abcd
} =
123
};
1
N/A
print
"not "
unless
$@ =~ /
Key
"abcd"
is
not
3
characters
long
/;
1
N/A
print
"ok 5\n"
;
1
N/A
1
N/A
eval
{ $a{
abc
} =
1234
};
1
N/A
print
"not "
unless
$@ =~ /
Value
"1234"
is
not
3
characters
long
/;
1
N/A
print
"ok 6\n"
;
1
N/A
1
N/A
eval
{ $a = $a{
abcd
}; $a++ };
1
N/A
print
"not "
unless
$@ =~ /
Key
"abcd"
is
not
3
characters
long
/;
1
N/A
print
"ok 7\n"
;
1
N/A
1
N/A
@a{
qw
(
abc
cde
)
} =
qw
(
123
345
)
;
1
N/A
1
N/A
print
"not "
unless
$a{
cde
} ==
345
;
1
N/A
print
"ok 8\n"
;
1
N/A
1
N/A
eval
{ $a{
def
} =
456
};
1
N/A
print
"not "
unless
$@ =~ /
Table
is
full
\(
3
elements
\)/;
1
N/A
print
"ok 9\n"
;
1
N/A
1
N/A
%a =
()
;
1
N/A
1
N/A
print
"not "
unless
keys
%a ==
0
;
1
N/A
print
"ok 10\n"
;
1
N/A
1
N/A
# Tests 11..16 by Linc Madison.
1
N/A
1
N/A
my
$hashsize
=
119
;
# arbitrary values from my data
1
N/A
my
%
test
;
1
N/A
tie
%
test
,
"Tie::SubstrHash"
,
13
,
86
,
$hashsize
;
1
N/A
1
N/A
for
(
my
$i =
1
; $i <=
$hashsize
; $i++)
{
1
N/A
my
$key1
= $i +
100
_000
;
# fix to uniform 6-digit numbers
1
N/A
my
$key2
=
"abcdefg
$key1
"
;
1
N/A
$test
{
$key2
} =
(
"abcdefgh"
x
10
)
.
"
$key1
"
;
1
N/A
}
1
N/A
1
N/A
for
(
my
$i =
1
; $i <=
$hashsize
; $i++)
{
1
N/A
my
$key1
= $i +
100
_000
;
1
N/A
my
$key2
=
"abcdefg
$key1
"
;
1
N/A
unless
(
$test
{
$key2
})
{
1
N/A
print
"not "
;
1
N/A
last
;
1
N/A
}
1
N/A
}
1
N/A
print
"ok 11\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
1
)
==
2
;
1
N/A
print
"ok 12\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
2
)
==
2
;
1
N/A
print
"ok 13\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
5.5
)
==
7
;
1
N/A
print
"ok 14\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
13
)
==
13
;
1
N/A
print
"ok 15\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
13.000001
)
==
17
;
1
N/A
print
"ok 16\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
114
)
==
127
;
1
N/A
print
"ok 17\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
1000
)
==
1009
;
1
N/A
print
"ok 18\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
1024
)
==
1031
;
1
N/A
print
"ok 19\n"
;
1
N/A
1
N/A
print
"not "
unless
Tie
::
SubstrHash
::
findgteprime
(
10000
)
==
10007
;
1
N/A
print
"ok 20\n"
;
1
N/A