def test_cut_with_no_impact(self): bts = BooleanTimeSeries([0, 1], [True], 2) cut1 = bts.cut(0, 2) self.assertEqual([0,1], cut1.t) self.assertEqual([True, False], cut1.y) self.assertEqual(2, cut1.end)
def test_cut_remove_switch_point_on_end(self): bts = BooleanTimeSeries([0, 1, 2], [True], 2) cut1 = bts.cut(0, 2) self.assertEqual([0,1], cut1.t) self.assertEqual([True, False], cut1.y) self.assertEqual(2, cut1.end)
def test_cut_end_before_start(self): sp = BooleanTimeSeries([0, 4], [True], 10) with self.assertRaises(ValueError): sp.cut(4,2)
def test_cut_non_inclusive_end(self): sp = BooleanTimeSeries([0, 4], [True], 10) with self.assertRaises(ValueError): sp.cut(0,20)
def test_keep_cut_on_switch_point(self): sp = BooleanTimeSeries([0, 1, 4], [True], 10) sp = sp.cut(0, 4, keep_switch_on_end=True) self.assertEqual([0, 1, 4], sp.t) self.assertEqual([True, False, True], sp.y) self.assertEqual(4, sp.end)
def test_cut_non_zero_start_after_final_switch(self): sp = BooleanTimeSeries([0, 1, 2, 4], [True], 10) sp = sp.cut(5,6) self.assertEqual([5], sp.t) self.assertEqual([False], sp.y) self.assertEqual(6, sp.end)
def test_cut_non_zero_start_on_switch_point(self): sp = BooleanTimeSeries([0, 1, 2, 4], [True], 10) sp = sp.cut(1, 3) self.assertEqual([1, 2], sp.t) self.assertEqual([False, True], sp.y) self.assertEqual(3, sp.end)
def test_basic_cut(self): sp = BooleanTimeSeries([0, 1, 4], [True], 10) sp = sp.cut(0, 3) self.assertEqual([0, 1], sp.t) self.assertEqual([True, False], sp.y) self.assertEqual(3, sp.end)