mirror of https://github.com/python/cpython
Improve and expand identity tests.
This commit is contained in:
parent
41631e8f66
commit
175a6ac114
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import unittest, operator, copy, pickle
|
||||
import unittest, operator, copy, pickle, random
|
||||
from sets import Set, ImmutableSet
|
||||
from test import test_support
|
||||
|
||||
|
@ -711,18 +711,18 @@ class TestCopyingNested(TestCopying):
|
|||
|
||||
class TestIdentities(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.a = Set('abracadabra')
|
||||
self.b = Set('alacazam')
|
||||
self.a = Set([random.randrange(100) for i in xrange(50)])
|
||||
self.b = Set([random.randrange(100) for i in xrange(50)])
|
||||
|
||||
def test_binopsVsSubsets(self):
|
||||
a, b = self.a, self.b
|
||||
self.assert_(a - b < a)
|
||||
self.assert_(b - a < b)
|
||||
self.assert_(a & b < a)
|
||||
self.assert_(a & b < b)
|
||||
self.assert_(a | b > a)
|
||||
self.assert_(a | b > b)
|
||||
self.assert_(a ^ b < a | b)
|
||||
self.assert_(a - b <= a)
|
||||
self.assert_(b - a <= b)
|
||||
self.assert_(a & b <= a)
|
||||
self.assert_(a & b <= b)
|
||||
self.assert_(a | b >= a)
|
||||
self.assert_(a | b >= b)
|
||||
self.assert_(a ^ b <= a | b)
|
||||
|
||||
def test_commutativity(self):
|
||||
a, b = self.a, self.b
|
||||
|
@ -744,12 +744,19 @@ class TestIdentities(unittest.TestCase):
|
|||
self.assertEqual((a-b)|(b-a), a^b)
|
||||
|
||||
def test_exclusion(self):
|
||||
# check that inverse operations show non-overlap
|
||||
# check that inverse operations do not overlap
|
||||
a, b, zero = self.a, self.b, Set()
|
||||
self.assertEqual((a-b)&b, zero)
|
||||
self.assertEqual((b-a)&a, zero)
|
||||
self.assertEqual((a&b)&(a^b), zero)
|
||||
|
||||
def test_cardinality_relations(self):
|
||||
a, b = self.a, self.b
|
||||
self.assertEqual(len(a), len(a-b) + len(a&b))
|
||||
self.assertEqual(len(b), len(b-a) + len(a&b))
|
||||
self.assertEqual(len(a^b), len(a-b) + len(b-a))
|
||||
self.assertEqual(len(a|b), len(a-b) + len(a&b) + len(b-a))
|
||||
|
||||
#==============================================================================
|
||||
|
||||
libreftest = """
|
||||
|
|
Loading…
Reference in New Issue