Skip to content

Commit 725a1e8

Browse files
authored
Merge pull request RustPython#979 from youknowone/refactor-set
PySet/PyFrozenSet refactoring
2 parents 7ae33b7 + c349f77 commit 725a1e8

2 files changed

Lines changed: 310 additions & 287 deletions

File tree

tests/snippets/set.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,26 @@
2727
assert not set([1,2]) < set([1,2])
2828
assert not set([1,3]) < set([1,2])
2929

30+
assert (set() == []) is False
31+
assert set().__eq__([]) == NotImplemented
32+
assert_raises(TypeError, lambda: set() < [], "'<' not supported between instances of 'set' and 'list'")
33+
assert_raises(TypeError, lambda: set() <= [], "'<=' not supported between instances of 'set' and 'list'")
34+
assert_raises(TypeError, lambda: set() > [], "'>' not supported between instances of 'set' and 'list'")
35+
assert_raises(TypeError, lambda: set() >= [], "'>=' not supported between instances of 'set' and 'list'")
36+
assert set().issuperset([])
37+
assert set().issubset([])
38+
assert not set().issuperset([1, 2, 3])
39+
assert set().issubset([1, 2])
40+
41+
assert (set() == 3) is False
42+
assert set().__eq__(3) == NotImplemented
43+
assert_raises(TypeError, lambda: set() < 3, "'int' object is not iterable")
44+
assert_raises(TypeError, lambda: set() <= 3, "'int' object is not iterable")
45+
assert_raises(TypeError, lambda: set() > 3, "'int' object is not iterable")
46+
assert_raises(TypeError, lambda: set() >= 3, "'int' object is not iterable")
47+
assert_raises(TypeError, lambda: set().issuperset(3), "'int' object is not iterable")
48+
assert_raises(TypeError, lambda: set().issubset(3), "'int' object is not iterable")
49+
3050
class Hashable(object):
3151
def __init__(self, obj):
3252
self.obj = obj
@@ -83,6 +103,12 @@ def __hash__(self):
83103
assert set([1,2,3]).isdisjoint(set([2,5,6])) == False
84104
assert set([1,2,3]).isdisjoint([5,6]) == True
85105

106+
assert_raises(TypeError, lambda: set() & [])
107+
assert_raises(TypeError, lambda: set() | [])
108+
assert_raises(TypeError, lambda: set() ^ [])
109+
assert_raises(TypeError, lambda: set() + [])
110+
assert_raises(TypeError, lambda: set() - [])
111+
86112
assert_raises(TypeError, lambda: set([[]]))
87113
assert_raises(TypeError, lambda: set().add([]))
88114

0 commit comments

Comments
 (0)