summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--tests/basics/frozenset1.py14
-rw-r--r--tests/basics/frozenset_add.py12
-rw-r--r--tests/basics/frozenset_binop.py36
-rw-r--r--tests/basics/frozenset_copy.py12
-rw-r--r--tests/basics/frozenset_difference.py21
5 files changed, 95 insertions, 0 deletions
diff --git a/tests/basics/frozenset1.py b/tests/basics/frozenset1.py
new file mode 100644
index 0000000000..02a5bf8c56
--- /dev/null
+++ b/tests/basics/frozenset1.py
@@ -0,0 +1,14 @@
+# basic sets
+
+try:
+ frozenset
+except NameError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+s = frozenset({1})
+print(s)
+
+s = frozenset({3, 4, 3, 1})
+print(sorted(s))
diff --git a/tests/basics/frozenset_add.py b/tests/basics/frozenset_add.py
new file mode 100644
index 0000000000..50615775bd
--- /dev/null
+++ b/tests/basics/frozenset_add.py
@@ -0,0 +1,12 @@
+try:
+ frozenset
+except NameError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+s = frozenset({1, 2, 3, 4})
+try:
+ print(s.add(5))
+except AttributeError:
+ print("AttributeError")
diff --git a/tests/basics/frozenset_binop.py b/tests/basics/frozenset_binop.py
new file mode 100644
index 0000000000..5cc07e9e15
--- /dev/null
+++ b/tests/basics/frozenset_binop.py
@@ -0,0 +1,36 @@
+try:
+ frozenset
+except NameError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+sets = [
+ frozenset(), frozenset({1}), frozenset({1, 2}), frozenset({1, 2, 3}), frozenset({2, 3}),
+ frozenset({2, 3, 5}), frozenset({5}), frozenset({7})
+]
+for s in sets:
+ for t in sets:
+ print(sorted(s), '|', sorted(t), '=', sorted(s | t))
+ print(sorted(s), '^', sorted(t), '=', sorted(s ^ t))
+ print(sorted(s), '&', sorted(t), '=', sorted(s & t))
+ print(sorted(s), '-', sorted(t), '=', sorted(s - t))
+ u = s.copy()
+ u |= t
+ print(sorted(s), "|=", sorted(t), '-->', sorted(u))
+ u = s.copy()
+ u ^= t
+ print(sorted(s), "^=", sorted(t), '-->', sorted(u))
+ u = s.copy()
+ u &= t
+ print(sorted(s), "&=", sorted(t), "-->", sorted(u))
+ u = s.copy()
+ u -= t
+ print(sorted(s), "-=", sorted(t), "-->", sorted(u))
+
+ print(sorted(s), '==', sorted(t), '=', s == t)
+ print(sorted(s), '!=', sorted(t), '=', s != t)
+ print(sorted(s), '>', sorted(t), '=', s > t)
+ print(sorted(s), '>=', sorted(t), '=', s >= t)
+ print(sorted(s), '<', sorted(t), '=', s < t)
+ print(sorted(s), '<=', sorted(t), '=', s <= t)
diff --git a/tests/basics/frozenset_copy.py b/tests/basics/frozenset_copy.py
new file mode 100644
index 0000000000..92e115d346
--- /dev/null
+++ b/tests/basics/frozenset_copy.py
@@ -0,0 +1,12 @@
+try:
+ frozenset
+except NameError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+s = frozenset({1, 2, 3, 4})
+t = s.copy()
+print(type(t))
+for i in s, t:
+ print(sorted(i))
diff --git a/tests/basics/frozenset_difference.py b/tests/basics/frozenset_difference.py
new file mode 100644
index 0000000000..3d142f9595
--- /dev/null
+++ b/tests/basics/frozenset_difference.py
@@ -0,0 +1,21 @@
+try:
+ frozenset
+except NameError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+l = [1, 2, 3, 4]
+s = frozenset(l)
+outs = [s.difference(),
+ s.difference(frozenset({1})),
+ s.difference(frozenset({1}), [1, 2]),
+ s.difference(frozenset({1}), {1, 2}, {2, 3})]
+for out in outs:
+ print(type(out), sorted(out))
+
+s = frozenset(l)
+try:
+ print(s.difference_update({1}))
+except AttributeError:
+ print("AttributeError")