Example #1
0
class ReprTest(TestCase):
    """PCSet and PSet repr's vary based on ordered and multiset settings"""

    def setUp(self):
        self.l = [0, 1, -7, 16, 1, 0]
        self.pcset = PCSet(self.l)
        self.pset = PSet(self.l)

    def testreprO(self):
        self.pcset.ordered(True)
        self.pset.ordered(True)
        self.pcset.multiset(False)
        self.pset.multiset(False)
        self.assertEqual(self.pcset.__repr__(), '[0, 1, 5, 4]')
        self.assertEqual(self.pset.__repr__(), '[0, 1, -7, 16]')

    def testreprO_Multi(self):
        pcset = PCSet(self.l, ordered=True, multiset=True)
        pset = PSet(self.l, ordered=True, multiset=True)
        self.assertEqual(pcset.__repr__(), '[0, 1, 5, 4, 1, 0]')
        self.assertEqual(pset.__repr__(), '[0, 1, -7, 16, 1, 0]')

    def testreprUO(self):        
        self.pcset.ordered(False)
        self.pset.ordered(False)
        self.pcset.multiset(False)
        self.pset.multiset(False)
        self.assertEqual(self.pcset.__repr__(), '[0, 1, 4, 5]')
        self.assertEqual(self.pset.__repr__(), '[-7, 0, 1, 16]')

    def testreprUO_Multi(self):
        pcset = PCSet(self.l, ordered=False, multiset=True)
        pset = PSet(self.l, ordered=False, multiset=True)
        self.assertEqual(pcset.__repr__(), '[0, 0, 1, 1, 4, 5]')
        self.assertEqual(pset.__repr__(), '[-7, 0, 0, 1, 1, 16]')
Example #2
0
class EqualityTest(TestCase):
    """Equality checks between PCSets, PSets, and built ins"""

    def setUp(self):
        self.l = [0, 1, 2, 4, 5, 10 ,1 ,0]
        self.s = set(self.l)
        self.pcset = PCSet(self.l)
        self.pset = PSet(self.l)
        self.pset.ordered(False)

    def testeqPPCSets(self):
        self.assertTrue(self.pcset == self.pcset)
        self.assertTrue(self.pset == self.pset)
        self.assertTrue(self.pcset == self.pset)

    def testeqPPCSet_list(self):
        self.assertTrue(self.pcset == self.l and self.pset == self.l)

    def testeqPPCSet_set(self):
        self.assertTrue(self.pcset == self.s and self.pset == self.s)

    def testeqPPCSet_int(self):
        a = PCSet(3)
        b = PSet(3)
        self.assertTrue(a == 3 and b == 3)
Example #3
0
class SettingsTest(TestCase):
    """PCSet and PSet instances have various methods to change settings"""

    def setUp(self):
        self.l = [0, 4, 9, 11]
        self.pcset = PCSet(self.l)
        self.pset = PSet(self.l)

    def testMod(self):
        self.pcset.mod(7)
        self.pset.mod(13)
        self.assertEqual(self.pcset._mod, 7)
        self.assertEqual(self.pset._mod, 13)

    def testModInvalid(self):
        for n in [0, 32]:
            self.assertRaises(self.pcset.InvalidModulus, self.pcset.mod, n)

    def testCanon(self):
        a = self.pcset
        b = self.pset
        a.canon(True, False, False)
        b.canon(False, True, True)        
        self.assertTrue(
            a._canon_t == True and a._canon_i == False and a._canon_m == False
        )
        self.assertTrue(
            b._canon_t == False and b._canon_i == True and b._canon_m == True
        )

    def testDefault_m(self):
        self.pcset.default_m(7)
        self.assertEqual(self.pcset._default_m, 7)

    def testOrdered(self):
        self.pcset.ordered(True)
        self.pset.ordered(True)
        self.assertTrue(
            self.pcset._ordered == True and self.pset._ordered == True
        )
        self.pcset.ordered(False)
        self.pset.ordered(False)
        self.assertTrue(
            self.pcset._ordered == False and self.pset._ordered == False
        )

    def testMultiset(self):
        self.pcset.multiset(True)
        self.pset.multiset(True)
        self.assertTrue(
            self.pcset._multiset == True and self.pset._multiset == True
        )
        self.pcset.multiset(False)
        self.pset.multiset(False)
        self.assertTrue(
            self.pcset._multiset == False and self.pset._multiset == False
        )
Example #4
0
class GetItemTest(TestCase):
    """[x:y] PCSets and PSets should return pcs and pitches respectively"""
    
    def setUp(self):
        self.l = [0, 1, 2, 5, 7, 9, 35, 4]
        self.pcset = PCSet(self.l)
        self.pset = PSet(self.l)

    def testgetInt(self):
        self.assertEqual(self.pcset[6], [9])
        self.assertEqual(self.pset[6], [9])
        self.pset.ordered(True)
        self.assertEqual(self.pset[6], [35])

    def testgetRange(self):
        self.assertEqual(self.pcset[2:5], [2, 4, 5])

    def testgetNegative(self):
        self.assertEqual(self.pcset[-1], [11])

    def testgetAfter(self):
        self.assertRaises(IndexError, self.pcset.__getitem__, 100)