MCPcopy Index your code
hub / github.com/python/cpython / test_in_and_not_in

Method test_in_and_not_in

Lib/test/test_iter.py:759–805  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

757
758 # Test iterators with 'x in y' and 'x not in y'.
759 def test_in_and_not_in(self):
760 for sc5 in IteratingSequenceClass(5), SequenceClass(5):
761 for i in range(5):
762 self.assertIn(i, sc5)
763 for i in "abc", -1, 5, 42.42, (3, 4), [], {1: 1}, 3-12j, sc5:
764 self.assertNotIn(i, sc5)
765
766 self.assertIn(ALWAYS_EQ, IteratorProxyClass(iter([1])))
767 self.assertIn(ALWAYS_EQ, SequenceProxyClass([1]))
768 self.assertNotIn(ALWAYS_EQ, IteratorProxyClass(iter([NEVER_EQ])))
769 self.assertNotIn(ALWAYS_EQ, SequenceProxyClass([NEVER_EQ]))
770 self.assertIn(NEVER_EQ, IteratorProxyClass(iter([ALWAYS_EQ])))
771 self.assertIn(NEVER_EQ, SequenceProxyClass([ALWAYS_EQ]))
772
773 self.assertRaises(TypeError, lambda: 3 in 12)
774 self.assertRaises(TypeError, lambda: 3 not in map)
775 self.assertRaises(ZeroDivisionError, lambda: 3 in BadIterableClass())
776
777 d = {"one": 1, "two": 2, "three": 3, 1j: 2j}
778 for k in d:
779 self.assertIn(k, d)
780 self.assertNotIn(k, d.values())
781 for v in d.values():
782 self.assertIn(v, d.values())
783 self.assertNotIn(v, d)
784 for k, v in d.items():
785 self.assertIn((k, v), d.items())
786 self.assertNotIn((v, k), d.items())
787
788 f = open(TESTFN, "w", encoding="utf-8")
789 try:
790 f.write("a\n" "b\n" "c\n")
791 finally:
792 f.close()
793 f = open(TESTFN, "r", encoding="utf-8")
794 try:
795 for chunk in "abc":
796 f.seek(0, 0)
797 self.assertNotIn(chunk, f)
798 f.seek(0, 0)
799 self.assertIn((chunk + "\n"), f)
800 finally:
801 f.close()
802 try:
803 unlink(TESTFN)
804 except OSError:
805 pass
806
807 # Test iterators with operator.countOf (PySequence_Count).
808 def test_countOf(self):

Callers

nothing calls this directly

Calls 15

assertInMethod · 0.95
assertNotInMethod · 0.95
assertRaisesMethod · 0.95
unlinkFunction · 0.90
IteratorProxyClassClass · 0.85
SequenceProxyClassClass · 0.85
BadIterableClassClass · 0.85
SequenceClassClass · 0.70
openFunction · 0.50
valuesMethod · 0.45
itemsMethod · 0.45

Tested by

no test coverage detected