test/unittest_selectors.py
changeset 5373 24a873060692
parent 4491 a0f48c31b58a
child 5423 e15abfdcce38
--- a/test/unittest_selectors.py	Thu Apr 22 15:50:45 2010 +0200
+++ b/test/unittest_selectors.py	Thu Apr 22 17:04:51 2010 +0200
@@ -87,6 +87,42 @@
         csel = AndSelector(Selector(), sel)
         self.assertIs(csel.search_selector(implements), sel)
 
+    def test_inplace_and(self):
+        selector = _1_()
+        selector &= _1_()
+        selector &= _1_()
+        self.assertEquals(selector(None), 3)
+        selector = _1_()
+        selector &= _0_()
+        selector &= _1_()
+        self.assertEquals(selector(None), 0)
+        selector = _0_()
+        selector &= _1_()
+        selector &= _1_()
+        self.assertEquals(selector(None), 0)
+        selector = _0_()
+        selector &= _0_()
+        selector &= _0_()
+        self.assertEquals(selector(None), 0)
+
+    def test_inplace_or(self):
+        selector = _1_()
+        selector |= _1_()
+        selector |= _1_()
+        self.assertEquals(selector(None), 1)
+        selector = _1_()
+        selector |= _0_()
+        selector |= _1_()
+        self.assertEquals(selector(None), 1)
+        selector = _0_()
+        selector |= _1_()
+        selector |= _1_()
+        self.assertEquals(selector(None), 1)
+        selector = _0_()
+        selector |= _0_()
+        selector |= _0_()
+        self.assertEquals(selector(None), 0)
+
 
 class ImplementsSelectorTC(CubicWebTC):
     def test_etype_priority(self):