def test_invalid_attach(self): t1 = Track("Track1", self.n, up_prefix="A", down_prefix="A", up=0, down=1) t2 = Track("Track2", self.n, up_prefix="A", down_prefix="A", up=0, down=1) with self.assertRaises(TrackError): t1.attach(0, Direction.UP) with self.assertRaises(TrackError): t1.attach(t2, 0)
def test_adjacent_track_sections(self): # UP <-----> DN # # <--- t1 --> <-- t2 ---> # +-----+-----+-----+-----+ # 1 0 1 0 t1 = Track("Track1", self.n, up_prefix="A", down_prefix="A", up=0, down=4, joints=[2]) t2 = Track("Track2", self.n, up_prefix="A", down_prefix="A", up=0, down=4, joints=[2]) t1.attach(t2, Direction.DOWN) self.assertEqual(t1.sections[0].down_next, t2.sections[1]) self.assertEqual(t2.sections[1].up_next, t1.sections[0])
def test_next_track_down(self): t1 = Track("Track1", self.n, up_prefix="A", down_prefix="A", up=0, down=1) t2 = Track("Track2", self.n, up_prefix="A", down_prefix="A", up=0, down=1) t1.attach(t2, Direction.DOWN) self.assertEqual(t1.down_next, t2) self.assertEqual(t2.up_next, t1)