コード例 #1
0
class RobotTestCase(unittest.TestCase):

	def setUp(self):
		self.position = Position('3', '2', 'N')
		self.position.rotateClockwise = MagicMock()
		self.position.rotateAnticlockwise = MagicMock()
		self.position.moveForward = MagicMock()

		self.robot = Robot(self.position)

	def test_initRobot(self):
		self.assertEqual(self.robot.position, self.position)


	def test_rotation(self):
		self.robot.processInstruction('R', [])
		self.robot.processInstruction('R', [])
		self.robot.processInstruction('L', [])

		self.position.rotateClockwise.assert_called()
		self.position.rotateAnticlockwise.assert_called()
		self.assertEqual(self.position.rotateClockwise.call_count, 2)

	def test_movement(self):
		self.robot.processInstruction('F', [])

		self.position.moveForward.assert_called()

	def test_lostPosition(self):
		self.robot.processInstruction('F', [self.position])

		self.assertFalse(self.robot.position.moveForward.called)