Пример #1
0
	def test_player_timing(self):
		#Ensure that the player can be instantiated and does sensible things
		#Note that this class should only be instantiated by the GameStarter and so has less validity check on its inputs
		pl = GamePlayer(1.0, 2.0, 0.5)
		pl.timeStep(0.5)
		self.assertEquals("OUT", pl.state)
		self.assertEquals(False, pl.pushed)
		self.assertEquals(0.0, pl.level)

		pl.pushed = True
		self.assertEquals(True, pl.pushed)

		pl.timeStep(0.51)
		self.assertEquals("WAIT", pl.state)
		level = pl.level
		self.assertTrue((0.509<level) and (level < 0.511))

		pl.timeStep(0.5)
		self.assertEquals("ACTIVE", pl.state)
		level = pl.level
		self.assertTrue((1.009<level) and (level < 1.011))

		pl.timeStep(1.0)
		self.assertEquals("START", pl.state)
		level = pl.level
		self.assertTrue((1.99<level) and (level < 2.01))
Пример #2
0
	def test_player_invalid_time_step(self):
		pl = GamePlayer(1.0, 2.0, 0.5)
		invalidTimes = [0, 0.0, -1, -1.0]
		for invalidTime in invalidTimes:
			pl.pushed = True
			self.assertRaises(Exception, pl.timeStep, invalidTime)
			pl.pushed = False
			self.assertRaises(Exception, pl.timeStep, invalidTime)
Пример #3
0
	def test_player_reset(self):
		#Ensure that the player can be reset
		#Note that this class should only be instantiated by the GameStarter and so has less validity check on its inputs
		pl = GamePlayer(1.0, 2.0, 0.5)
		pl.pushed = True
		pl.timeStep(5.0)
		pl.reset()
		self.assertEquals(0.0, pl.level)
		self.assertEquals("OUT", pl.state)
		self.assertEquals(False, pl.pushed)