예제 #1
0
    def test_inf(self):
        print("--------------------")

        anInt = Intervals()
        anInt.add_interval((10, np.inf))
        anInt.add_interval((20, np.inf))
        self.assertEqual([(10, np.inf)], anInt.periods())
        anInt._substract_one_period((20, np.inf))
        self.assertEqual([(10, 20)], anInt.periods())
예제 #2
0
    def test_delete2(self):
        anInt = Intervals()
        anInt.add_interval((10, 100))
        anInt.add_interval((200, 300))

        anInt._substract_one_period((0, 5))
        anInt._substract_one_period((150, 160))
        anInt._substract_one_period((350, 450))

        self.assertEqual(anInt.periods(), [(10, 100), (200, 300)])
예제 #3
0
    def test_deleteComplete(self):
        anInt = Intervals()
        anInt.add_interval((10, 100))
        anInt.add_interval((200, 300))

        anInt._substract_one_period((5, 15))
        self.assertEqual([(15, 100), (200, 300)], anInt.periods())

        anInt._substract_one_period((20, 30))
        self.assertEqual([(15, 20), (30, 100), (200, 300)], anInt.periods())

        anInt._substract_one_period((0, 300))
        self.assertEqual([], anInt.periods())
예제 #4
0
    def test_union(self):
        anInt = Intervals()
        anInt.add_interval((5, 10))

        another = Intervals()
        another.add_interval((3, 105))

        test1 = another.union(anInt)
        test2 = anInt.union(another)
        print(test1)
        print(test2)
        self.assertEqual(test1, test2)
        self.assertEqual(test1, another)

        anInt = Intervals()
        anInt.add_interval((5, 10))

        another = Intervals()
        another.add_interval((30, 105))

        test1 = another.union(anInt)
        test2 = anInt.union(another)
        self.assertEqual(test1, test2)
        self.assertEqual(test1, Intervals([(5, 10), (30, 105)]))
예제 #5
0
    def test_intersect(self):
        anInt = Intervals()
        anInt.add_interval((5, 10))
        anInt.add_interval((12, 20))
        anInt.add_interval((50, 100))

        another = Intervals()
        another.add_interval((3, 105))

        test1 = another.intersection(anInt)
        test2 = anInt.intersection(another)
        self.assertEqual(test1, test2)
        self.assertEqual(test1, anInt)

        another = Intervals()
        another.add_interval((3, 18))

        test1 = another.intersection(anInt)

        self.assertEqual(test1.periods(), [(5, 10), (12, 18)])

        another = Intervals()
        another.add_interval((19, 55))
        test1 = anInt.intersection(another)

        self.assertEqual(test1.periods(), [(19, 20), (50, 55)])
예제 #6
0
 def test_oneInterval(self):
     anInt = Intervals()
     anInt.add_interval((2, 3))
     results = anInt.periods()
     self.assertEqual(results, [(2, 3)])
예제 #7
0
    def test_delete(self):
        anInt = Intervals()
        anInt.add_interval((10, 100))

        anInt._substract_one_period((20, 30))
        self.assertEqual(anInt.periods(), [(10, 20), (30, 100)])
예제 #8
0
    def test_addingIntervalsComplex(self):
        anInt = Intervals()
        anInt.add_interval((2, 3))

        anInt.add_interval((5, 6))
        self.assertEqual(anInt.periods(), [(2, 3), (5, 6)])

        anInt.add_interval((6, 10))
        self.assertEqual(anInt.periods(), [(2, 3), (5, 10)])

        anInt.add_interval((20, 100))
        self.assertEqual(anInt.periods(), [(2, 3), (5, 10), (20, 100)])

        anInt.add_interval((101, 201))
        self.assertEqual(anInt.periods(), [(2, 3), (5, 10), (20, 100),
                                           (101, 201)])

        anInt.add_interval((100, 101))
        self.assertEqual(anInt.periods(), [(2, 3), (5, 10), (20, 201)])

        anInt.add_interval((3, 300))
        self.assertEqual(anInt.periods(), [(2, 300)])
예제 #9
0
 def test_addingOverlappingIntervals2(self):
     anInt = Intervals()
     anInt.add_interval((2, 3))
     anInt.add_interval((0, 5))
     results = anInt.periods()
     self.assertEqual(results, [(0, 5)])
예제 #10
0
 def test_addingIntervals(self):
     anInt = Intervals()
     anInt.add_interval((2, 3))
     anInt.add_interval((5, 7))
     results = anInt.periods()
     self.assertEqual(results, [(2, 3), (5, 7)])