Example #1
0
	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)
Example #2
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])
Example #3
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)