File: abuse.t

package info (click to toggle)
libset-object-perl 1.42-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 620 kB
  • sloc: perl: 1,069; makefile: 14
file content (64 lines) | stat: -rw-r--r-- 2,298 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/usr/bin/perl -w

use strict;
use Test::More tests => 20;
use Set::Object;

my @objects = ( bless([], "Bob"),
		bless([], "Jane"),
		bless([], "Bernie"));

my $set = Set::Object->new(@objects);

# This test is because I once found as_string getting called
# completely out of context, so I added an explicit check
eval { Set::Object::as_string("yo momma") };
like($@, qr/Tried to use as_string/, "as_string");

is(($set == "doorpost"), undef, "== operator");
is($set->equal(["pocketknife"]), undef, "equal method");

is(($set != "doorpost"),     1, "!= operator");
is($set->not_equal(["pocketknife"]), 1, "not_equal method");

ok(( $set->union([ "carborettor" ]) == $set), "union method");

# no longer abuse...
#eval{ my $x = $set + "carborettor" };
#like($@, qr/Tried to form union.*carborettor/, "+ operator");

eval { my $x = $set * [ "octarine" ] };
like($@, qr/Tried to .*intersection.*ARRAY/, "* operator");
eval { my $x = $set->intersection([ "octarine" ]) };
like($@, qr/Tried to .*intersection.*ARRAY/, "intersection method");

eval { my $x = $set - { "deep" => "purple" } };
like($@, qr/Tried to .*difference.*HASH/, "- operator");
eval { my $x = $set->difference({ "uriah" => "heep" }) };
like($@, qr/Tried to .*difference.*HASH/, "difference");

eval { my $x = $set % $objects[0] };
like($@, qr/Tried to .*symmetric.*Bob/, "% operator");
eval { my $x = $set->symmetric_difference($objects[1]) };
like($@, qr/Tried to .*symmetric.*Jane/, "symmetric_difference");

eval { my $x = $set < $objects[0] };
like($@, qr/Tried to .*proper subset.*Bob/, "< operator");
eval { my $x = $set->proper_subset($objects[1]) };
like($@, qr/Tried to .*proper subset.*Jane/, "proper_subset");

eval { my $x = $set <= $objects[0] };
like($@, qr/Tried to find subset.*Bob/, "<= operator");
eval { my $x = $set->subset($objects[1]) };
like($@, qr/Tried to find subset.*Jane/, "subset");

eval { my $x = $set > $objects[0] };
like($@, qr/Tried to .*proper superset.*Bob/, "> operator");
eval { my $x = $set->proper_superset($objects[1]) };
like($@, qr/Tried to .*proper superset.*Jane/, "proper_superset");

eval { my $x = $set >= $objects[0] };
like($@, qr/Tried to find superset.*Bob/, ">= operator");
eval { my $x = $set->superset($objects[1]) };
like($@, qr/Tried to find superset.*Jane/, "superset");