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 } 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