summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/set_binop.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/set_binop.py')
-rw-r--r--tests/basics/set_binop.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/basics/set_binop.py b/tests/basics/set_binop.py
new file mode 100644
index 0000000000..d0d0b8027b
--- /dev/null
+++ b/tests/basics/set_binop.py
@@ -0,0 +1,30 @@
+def r(s):
+ l = list(s)
+ l.sort()
+ return l
+sets = [set(), {1}, {1, 2}, {1, 2, 3}, {2, 3}, {2, 3, 5}, {5}, {7}]
+for s in sets:
+ for t in sets:
+ print(s, '|', t, '=', r(s | t))
+ print(s, '^', t, '=', r(s ^ t))
+ print(s, '&', t, '=', r(s & t))
+ print(s, '-', t, '=', r(s - t))
+ u = s.copy()
+ u |= t
+ print(s, "|=", t, '-->', r(u))
+ u = s.copy()
+ u ^= t
+ print(s, "^=", t, '-->', r(u))
+ u = s.copy()
+ u &= t
+ print(s, "&=", t, "-->", r(u))
+ u = s.copy()
+ u -= t
+ print(s, "-=", t, "-->", r(u))
+
+ print(s, '==', t, '=', s == t)
+ print(s, '!=', t, '=', s != t)
+ print(s, '>', t, '=', s > t)
+ print(s, '>=', t, '=', s >= t)
+ print(s, '<', t, '=', s < t)
+ print(s, '<=', t, '=', s <= t)