Skip to content

Commit 37b0f33

Browse files
committed
objset: Add frozenset tests, skippable if frozenset not available.
1 parent 43d4a6f commit 37b0f33

5 files changed

Lines changed: 95 additions & 0 deletions

File tree

tests/basics/frozenset1.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# basic sets
2+
3+
try:
4+
frozenset
5+
except NameError:
6+
print("SKIP")
7+
import sys
8+
sys.exit()
9+
10+
s = frozenset({1})
11+
print(s)
12+
13+
s = frozenset({3, 4, 3, 1})
14+
print(sorted(s))

tests/basics/frozenset_add.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
try:
2+
frozenset
3+
except NameError:
4+
print("SKIP")
5+
import sys
6+
sys.exit()
7+
8+
s = frozenset({1, 2, 3, 4})
9+
try:
10+
print(s.add(5))
11+
except AttributeError:
12+
print("AttributeError")

tests/basics/frozenset_binop.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
try:
2+
frozenset
3+
except NameError:
4+
print("SKIP")
5+
import sys
6+
sys.exit()
7+
8+
sets = [
9+
frozenset(), frozenset({1}), frozenset({1, 2}), frozenset({1, 2, 3}), frozenset({2, 3}),
10+
frozenset({2, 3, 5}), frozenset({5}), frozenset({7})
11+
]
12+
for s in sets:
13+
for t in sets:
14+
print(sorted(s), '|', sorted(t), '=', sorted(s | t))
15+
print(sorted(s), '^', sorted(t), '=', sorted(s ^ t))
16+
print(sorted(s), '&', sorted(t), '=', sorted(s & t))
17+
print(sorted(s), '-', sorted(t), '=', sorted(s - t))
18+
u = s.copy()
19+
u |= t
20+
print(sorted(s), "|=", sorted(t), '-->', sorted(u))
21+
u = s.copy()
22+
u ^= t
23+
print(sorted(s), "^=", sorted(t), '-->', sorted(u))
24+
u = s.copy()
25+
u &= t
26+
print(sorted(s), "&=", sorted(t), "-->", sorted(u))
27+
u = s.copy()
28+
u -= t
29+
print(sorted(s), "-=", sorted(t), "-->", sorted(u))
30+
31+
print(sorted(s), '==', sorted(t), '=', s == t)
32+
print(sorted(s), '!=', sorted(t), '=', s != t)
33+
print(sorted(s), '>', sorted(t), '=', s > t)
34+
print(sorted(s), '>=', sorted(t), '=', s >= t)
35+
print(sorted(s), '<', sorted(t), '=', s < t)
36+
print(sorted(s), '<=', sorted(t), '=', s <= t)

tests/basics/frozenset_copy.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
try:
2+
frozenset
3+
except NameError:
4+
print("SKIP")
5+
import sys
6+
sys.exit()
7+
8+
s = frozenset({1, 2, 3, 4})
9+
t = s.copy()
10+
print(type(t))
11+
for i in s, t:
12+
print(sorted(i))
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
try:
2+
frozenset
3+
except NameError:
4+
print("SKIP")
5+
import sys
6+
sys.exit()
7+
8+
l = [1, 2, 3, 4]
9+
s = frozenset(l)
10+
outs = [s.difference(),
11+
s.difference(frozenset({1})),
12+
s.difference(frozenset({1}), [1, 2]),
13+
s.difference(frozenset({1}), {1, 2}, {2, 3})]
14+
for out in outs:
15+
print(type(out), sorted(out))
16+
17+
s = frozenset(l)
18+
try:
19+
print(s.difference_update({1}))
20+
except AttributeError:
21+
print("AttributeError")

0 commit comments

Comments
 (0)