Пример #1
0
    def test_mutability_1(self):
        rs0 = RangeSet("2-5")
        rs1 = RangeSet("0-1")
        rn0 = RangeSetND([[rs0, rs1]])  #, copy_rangeset=False)
        self.assertEqual(str(rn0), "2-5; 0-1\n")

        rs2 = RangeSet("6-7")
        rs3 = RangeSet("2-3")
        rn1 = RangeSetND([[rs2, rs3]])  #, copy_rangeset=False)
        rn0.update(rn1)
        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")

        # check mutability safety
        self.assertEqual(str(rs0), "2-5")
        self.assertEqual(str(rs1), "0-1")
        self.assertEqual(str(rs2), "6-7")
        self.assertEqual(str(rs3), "2-3")

        # reverse check
        rs1.add(2)
        self.assertEqual(str(rs1), "0-2")
        rs3.add(4)
        self.assertEqual(str(rs3), "2-4")
        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")

        self.assertEqual(str(rn1), "6-7; 2-3\n")
        rn1.update([[rs2, rs3]])
        self.assertEqual(str(rn1), "6-7; 2-4\n")

        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")
Пример #2
0
    def test_mutability_1(self):
        rs0 = RangeSet("2-5")
        rs1 = RangeSet("0-1")
        rn0 = RangeSetND([[rs0, rs1]]) #, copy_rangeset=False)
        self.assertEqual(str(rn0), "2-5; 0-1\n")

        rs2 = RangeSet("6-7")
        rs3 = RangeSet("2-3")
        rn1 = RangeSetND([[rs2, rs3]]) #, copy_rangeset=False)
        rn0.update(rn1)
        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")

        # check mutability safety
        self.assertEqual(str(rs0), "2-5")
        self.assertEqual(str(rs1), "0-1")
        self.assertEqual(str(rs2), "6-7")
        self.assertEqual(str(rs3), "2-3")

        # reverse check
        rs1.add(2)
        self.assertEqual(str(rs1), "0-2")
        rs3.add(4)
        self.assertEqual(str(rs3), "2-4")
        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")

        self.assertEqual(str(rn1), "6-7; 2-3\n")
        rn1.update([[rs2, rs3]])
        self.assertEqual(str(rn1), "6-7; 2-4\n")

        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")
Пример #3
0
    def test_mutability_2(self):
        rs0 = RangeSet("2-5")
        rs1 = RangeSet("0-1")
        rn0 = RangeSetND([[rs0, rs1]]) #, copy_rangeset=False)
        self.assertEqual(str(rn0), "2-5; 0-1\n")

        rs2 = RangeSet("6-7")
        rs3 = RangeSet("2-3")
        rn0.update([[rs2, rs3]])
        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")

        rs3.add(4)
        self.assertEqual(str(rs3), "2-4")
        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")
Пример #4
0
    def test_mutability_2(self):
        rs0 = RangeSet("2-5")
        rs1 = RangeSet("0-1")
        rn0 = RangeSetND([[rs0, rs1]])  #, copy_rangeset=False)
        self.assertEqual(str(rn0), "2-5; 0-1\n")

        rs2 = RangeSet("6-7")
        rs3 = RangeSet("2-3")
        rn0.update([[rs2, rs3]])
        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")

        rs3.add(4)
        self.assertEqual(str(rs3), "2-4")
        self.assertEqual(str(rn0), "2-5; 0-1\n6-7; 2-3\n")
Пример #5
0
 def testConstructorIterate(self):
     """test RangeSet(iterable) constructor"""
     # from list
     rgs = RangeSet([3, 5, 6, 7, 8, 1])
     self.assertEqual(str(rgs), "1,3,5-8")
     self.assertEqual(len(rgs), 6)
     rgs.add(10)
     self.assertEqual(str(rgs), "1,3,5-8,10")
     self.assertEqual(len(rgs), 7)
     # from set
     rgs = RangeSet(set([3, 5, 6, 7, 8, 1]))
     self.assertEqual(str(rgs), "1,3,5-8")
     self.assertEqual(len(rgs), 6)
     # from RangeSet
     r1 = RangeSet("1,3,5-8")
     rgs = RangeSet(r1)
     self.assertEqual(str(rgs), "1,3,5-8")
     self.assertEqual(len(rgs), 6)
Пример #6
0
 def testConstructorIterate(self):
     """test RangeSet(iterable) constructor"""
     # from list
     rgs = RangeSet([3,5,6,7,8,1])
     self.assertEqual(str(rgs), "1,3,5-8")
     self.assertEqual(len(rgs), 6)
     rgs.add(10)
     self.assertEqual(str(rgs), "1,3,5-8,10")
     self.assertEqual(len(rgs), 7)
     # from set
     rgs = RangeSet(set([3,5,6,7,8,1]))
     self.assertEqual(str(rgs), "1,3,5-8")
     self.assertEqual(len(rgs), 6)
     # from RangeSet
     r1 = RangeSet("1,3,5-8")
     rgs = RangeSet(r1)
     self.assertEqual(str(rgs), "1,3,5-8")
     self.assertEqual(len(rgs), 6)
Пример #7
0
 def testAdd(self):
     """test RangeSet.add()"""
     r1 = RangeSet("1-100,102,105-242,800")
     self.assertEqual(len(r1), 240)
     r1.add(801)
     self.assertEqual(len(r1), 241)
     self.assertEqual(r1[0], 1)
     self.assertEqual(r1[240], 801)
     r1.add(788)
     self.assertEqual(str(r1), "1-100,102,105-242,788,800-801")
     self.assertEqual(len(r1), 242)
     self.assertEqual(r1[0], 1)
     self.assertEqual(r1[239], 788)
     self.assertEqual(r1[240], 800)
     r1.add(812)
     self.assertEqual(len(r1), 243)
     # test forced padding
     r1 = RangeSet("1-100,102,105-242,800")
     r1.add(801, pad=3)
     self.assertEqual(len(r1), 241)
     self.assertEqual(str(r1), "001-100,102,105-242,800-801")
     r1.padding = 4
     self.assertEqual(len(r1), 241)
     self.assertEqual(str(r1), "0001-0100,0102,0105-0242,0800-0801")
Пример #8
0
 def testAdd(self):
     """test RangeSet.add()"""
     r1 = RangeSet("1-100,102,105-242,800")
     self.assertEqual(len(r1), 240)
     r1.add(801)
     self.assertEqual(len(r1), 241)
     self.assertEqual(r1[0], 1)
     self.assertEqual(r1[240], 801)
     r1.add(788)
     self.assertEqual(str(r1), "1-100,102,105-242,788,800-801")
     self.assertEqual(len(r1), 242)
     self.assertEqual(r1[0], 1)
     self.assertEqual(r1[239], 788)
     self.assertEqual(r1[240], 800)
     r1.add(812)
     self.assertEqual(len(r1), 243)
     # test forced padding
     r1 = RangeSet("1-100,102,105-242,800")
     r1.add(801, pad=3)
     self.assertEqual(len(r1), 241)
     self.assertEqual(str(r1), "001-100,102,105-242,800-801")
     r1.padding = 4
     self.assertEqual(len(r1), 241)
     self.assertEqual(str(r1), "0001-0100,0102,0105-0242,0800-0801")