From 6924288674ca7f5a1e3c8114b3d54c06c8c2c4bc Mon Sep 17 00:00:00 2001 From: HyeockJinKim Date: Tue, 1 Oct 2019 00:16:21 +0900 Subject: [PATCH 1/2] __ne__ of set return NotImplemented if type of other is not set, return NotImplemented --- py/set.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/py/set.go b/py/set.go index a09cc8d2..171900b3 100644 --- a/py/set.go +++ b/py/set.go @@ -215,6 +215,9 @@ func (a *Set) M__ne__(other Object) (Object, error) { if err != nil { return nil, err } + if eq == NotImplemented { + return eq, nil + } if eq == True { return False, nil } From 6aa008ed690671d0067ec3e4d32d8b900b105342 Mon Sep 17 00:00:00 2001 From: HyeockJinKim Date: Tue, 1 Oct 2019 00:21:44 +0900 Subject: [PATCH 2/2] Add tests for set.__eq__ and set.__ne__ --- py/tests/set.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/py/tests/set.py b/py/tests/set.py index f2f867a7..e7023495 100644 --- a/py/tests/set.py +++ b/py/tests/set.py @@ -72,4 +72,15 @@ assert 4 in c assert 5 in c +doc="__eq__, __ne__" +a = set([1,2,3]) +assert a.__eq__(3) != True +assert a.__ne__(3) != False +assert a.__ne__(3) != True +assert a.__ne__(3) != False # This part should be changed in comparison with NotImplemented + +assert a.__ne__(set()) == True +assert a.__eq__({1,2,3}) == True +assert a.__ne__({1,2,3}) == False + doc="finished" \ No newline at end of file