From 05c70fdfba7e5c0f9104c927e29822a8da8c467f Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 2 Feb 2017 23:36:53 +1100 Subject: [PATCH] tests/basics/set_binop: Add tests for inplace set operations. --- tests/basics/set_binop.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/basics/set_binop.py b/tests/basics/set_binop.py index a3657d84bd..7848920b6a 100644 --- a/tests/basics/set_binop.py +++ b/tests/basics/set_binop.py @@ -29,6 +29,25 @@ for s in sets: print(set('abc') == 1) +# make sure inplace operators modify the set + +s1 = s2 = set('abc') +s1 |= set('ad') +print(s1 is s2, len(s1)) + +s1 = s2 = set('abc') +s1 ^= set('ad') +print(s1 is s2, len(s1)) + +s1 = s2 = set('abc') +s1 &= set('ad') +print(s1 is s2, len(s1)) + +s1 = s2 = set('abc') +s1 -= set('ad') +print(s1 is s2, len(s1)) + +# unsupported operator try: set('abc') * 2 except TypeError: