Exemplo n.º 1
0
    def setUp(self):
        self.screen = Point(600, 300)
        self.spriteManager = Mock(spec=ISpriteManager)
        self.enviroment = Mock(spec=Enviroment)
        self.soundManager = Mock(spec=ISoundManager)
        self.collisionManager = Mock(spec=ICollisionManager)
        self.trace = NullTracer()

        startCords = Point(0, 0)
        self.enviroment.getStartCords.return_value = startCords

        self.target = Potato(self.screen, self.spriteManager, self.enviroment,
                             self.soundManager, self.collisionManager,
                             self.trace)

        pathDeathSound = os.path.join('JumperPY', 'bin', 'Resources', 'sounds',
                                      'death.wav')
        pathJumpSound = os.path.join('JumperPY', 'bin', 'Resources', 'sounds',
                                     'jump.wav')
        pathCheckpointSound = os.path.join('JumperPY', 'bin', 'Resources',
                                           'sounds', 'checkpoint.wav')

        self.spriteManagerExpected = []
        self.spriteManagerExpected.append(call.createSprite(0, 0, 30, 30))
        self.enviromentExpected = [call.getStartCords()]
        self.soundManagerExpected = [
            call.getSound(pathDeathSound),
            call.getSound(pathJumpSound),
            call.getSound(pathCheckpointSound)
        ]
        self.collisionManagerExpected = []
Exemplo n.º 2
0
	def test_PotatoShouldDescendIfThereIsNotTileBehind(self):
		startPosition = Point(2,4)
		expectedPosition = Point(60, 128)
		keysPressed = []

		self.enviroment.isTile.side_effect = [False, False]

		self.spriteManagerExpected.append(call.updateSpriteImage(
				os.path.join('JumperPY', 'bin','Resources', 'potatoJumping.png')))
		self.spriteManagerExpected.append(call.flipSpriteImage())
		self.spriteManagerExpected.append(call.updateSprite(expectedPosition.X, expectedPosition.Y))

		self.enviromentExpected.append(call.getStartCords())
		self.enviromentExpected.append(call.getFinishCords())
		self.enviromentExpected.append(call.isTile(Point(2,5)))
		self.enviromentExpected.append(call.isTile(Point(2,5)))

		self.soundManagerExpected.append(call.getSound().play())

		self.target.setActualPosition(startPosition)

		self.target.motion(keysPressed)

		self.assertEqual(self.target.ActualPosition, expectedPosition)
		self.assertFalse(self.target.isStanding)
		self.assertTrue(self.target.isGoingDown)
		self.assertTrue(self.target.isJumping)
Exemplo n.º 3
0
	def test_PotatoDie(self):
		startPosition = Point(1,20)
		startCords = Point(0,1)
		expectedPosition = Point(startCords.X*30,startCords.Y*30)
		keysPressed = []

		self.enviroment.getStartCords.return_value = startCords
		self.enviroment.isTile.side_effect = [False]

		self.spriteManagerExpected.append(call.updateSpriteImage(
			os.path.join('JumperPY', 'bin','Resources', 'potatoStanding.png')))
		self.spriteManagerExpected.append(call.flipSpriteImage())
		self.spriteManagerExpected.append(call.updateSprite(expectedPosition.X,
			expectedPosition.Y))

		self.enviromentExpected.append(call.getStartCords())
		self.enviromentExpected.append(call.getFinishCords())
		self.enviromentExpected.append(call.isTile(Point(1,21)))
		self.enviromentExpected.append(call.getStartCords())

		self.soundManagerExpected.append(call.getSound().play())

		self.target.setActualPosition(startPosition)
		self.target.isJumping = True
		self.target.isGoingDown = True

		self.target.motion(keysPressed)

		self.assertEqual(expectedPosition, self.target.ActualPosition)
Exemplo n.º 4
0
	def test_PotatoReachCheckpointTrue(self):
		startPosition = Point(10,1)
		finishCord = startPosition
		expectedPosition = Point(startPosition.X*30,startPosition.Y*30)
		keysPressed = []

		self.enviroment.getFinishCords.return_value = finishCord
		self.enviroment.isTile.side_effect = [True]

		self.spriteManagerExpected.append(call.updateSpriteImage(
			os.path.join('JumperPY', 'bin','Resources', 'potatoStanding.png')))
		self.spriteManagerExpected.append(call.flipSpriteImage())
		self.spriteManagerExpected.append(call.updateSprite(expectedPosition.X,
			expectedPosition.Y))

		self.enviromentExpected.append(call.getStartCords())
		self.enviromentExpected.append(call.getFinishCords())
		self.enviromentExpected.append(call.isTile(Point(10,2)))
		
		self.soundManagerExpected.append(call.getSound().play())

		self.target.setActualPosition(startPosition)
		self.target.motion(keysPressed)

		self.assertTrue(self.target.reachCheckpoint)
Exemplo n.º 5
0
    def test_PotatoShouldDescendIfThereIsNotTileBehind(self):
        startPosition = Point(2, 4)
        expectedPosition = Point(60, 128)
        collision = {Position.BEHIND: False, Position.CHECKPOINT: False}
        keysPressed = []

        self.collisionManager.getCollisions.return_value = collision

        self.spriteManagerExpected.append(
            call.updateSpriteImage(
                os.path.join('JumperPY', 'bin', 'Resources',
                             'potatoJumping.png')))
        self.spriteManagerExpected.append(call.flipSpriteImage())
        self.spriteManagerExpected.append(
            call.updateSprite(expectedPosition.X, expectedPosition.Y))
        self.collisionManagerExpected.append(call.getCollisions())
        self.soundManagerExpected.append(call.getSound().play())

        self.target.setActualPosition(startPosition)
        self.target.motion(keysPressed)

        self.assertEqual(self.target.ActualPosition, expectedPosition)
        self.assertFalse(self.target.isStanding)
        self.assertTrue(self.target.isGoingDown)
        self.assertTrue(self.target.isJumping)
Exemplo n.º 6
0
    def test_PotatoDie(self):
        startPosition = Point(1, 20)
        startCords = Point(0, 1)
        expectedPosition = Point(startCords.X * 30, startCords.Y * 30)
        collision = {Position.BEHIND: False, Position.CHECKPOINT: False}
        keysPressed = []

        self.enviroment.getStartCords.return_value = startCords
        self.collisionManager.getCollisions.return_value = collision

        self.spriteManagerExpected.append(
            call.updateSpriteImage(
                os.path.join('JumperPY', 'bin', 'Resources',
                             'potatoStanding.png')))
        self.spriteManagerExpected.append(call.flipSpriteImage())
        self.spriteManagerExpected.append(
            call.updateSprite(expectedPosition.X, expectedPosition.Y))
        self.collisionManagerExpected.append(call.getCollisions())
        self.enviromentExpected.append(call.getStartCords())

        self.soundManagerExpected.append(call.getSound().play())

        self.target.setActualPosition(startPosition)
        self.target.isJumping = True
        self.target.isGoingDown = True
        self.target.motion(keysPressed)

        self.assertEqual(expectedPosition, self.target.ActualPosition)
Exemplo n.º 7
0
	def setUp(self):
		self.screen = Point(600, 300)
		self.spriteManager = Mock(spec=ISpriteManager)
		self.enviroment = Mock(spec=Enviroment)
		self.soundManager = Mock(spec=ISoundManager)
		self.trace = NullTracer()

		startCords = Point(0,0)
		self.enviroment.getStartCords.return_value = startCords

		self.target = Potato(self.screen, self.spriteManager,
			self.enviroment, self.soundManager, self.trace)

		pathDeathSound = os.path.join('JumperPY', 'bin','Resources', 'sounds', 'death.wav')
		pathJumpSound = os.path.join('JumperPY', 'bin','Resources', 'sounds', 'jump.wav')
		pathCheckpointSound = os.path.join('JumperPY', 'bin','Resources', 'sounds', 'checkpoint.wav')

		self.enviromentExpected = []
		self.spriteManagerExpected = []
		self.spriteManagerExpected.append(call.createSprite(0, 0, 30, 30))
		self.soundManagerExpected = [call.getSound(pathDeathSound),
			call.getSound(pathJumpSound), 
			call.getSound(pathCheckpointSound)]
Exemplo n.º 8
0
	def test_MovePotatoJump(self):
		keysPressed = [Key.Space]
		startPosition = Point(1,0)
		expectedPosition = Point(startPosition.X*30, -8)

		self.enviroment.isTile.side_effect = [False, True]

		self.spriteManagerExpected.append(call.updateSpriteImage(
				os.path.join('JumperPY', 'bin','Resources', 'potatoJumping.png')))
		self.spriteManagerExpected.append(call.flipSpriteImage())
		self.spriteManagerExpected.append(call.updateSprite(expectedPosition.X, expectedPosition.Y))
		self.enviromentExpected.append(call.getStartCords())
		self.enviromentExpected.append(call.getFinishCords())

		self.soundManagerExpected.append(call.getSound().play())

		self.target.setActualPosition(startPosition)
		self.target.motion(keysPressed)

		self.assertFalse(self.target.isStanding)
Exemplo n.º 9
0
    def test_MovePotatoJump(self):
        keysPressed = [Key.Space]
        startPosition = Point(1, 0)
        expectedPosition = Point(startPosition.X * 30, -8)
        collision = {Position.CHECKPOINT: False}

        self.collisionManager.getCollisions.return_value = collision

        self.spriteManagerExpected.append(
            call.updateSpriteImage(
                os.path.join('JumperPY', 'bin', 'Resources',
                             'potatoJumping.png')))
        self.spriteManagerExpected.append(call.flipSpriteImage())
        self.spriteManagerExpected.append(
            call.updateSprite(expectedPosition.X, expectedPosition.Y))
        self.soundManagerExpected.append(call.getSound().play())
        self.collisionManagerExpected.append(call.getCollisions())

        self.target.setActualPosition(startPosition)
        self.target.motion(keysPressed)

        self.assertFalse(self.target.isStanding)
Exemplo n.º 10
0
    def test_PotatoReachCheckpointTrue(self):
        startPosition = Point(10, 1)
        finishCord = startPosition
        expectedPosition = Point(startPosition.X * 30, startPosition.Y * 30)
        collision = {Position.BEHIND: True, Position.CHECKPOINT: True}
        keysPressed = []

        self.collisionManager.getCollisions.return_value = collision

        self.spriteManagerExpected.append(
            call.updateSpriteImage(
                os.path.join('JumperPY', 'bin', 'Resources',
                             'potatoStanding.png')))
        self.spriteManagerExpected.append(call.flipSpriteImage())
        self.spriteManagerExpected.append(
            call.updateSprite(expectedPosition.X, expectedPosition.Y))
        self.soundManagerExpected.append(call.getSound().play())
        self.collisionManagerExpected.append(call.getCollisions())

        self.target.setActualPosition(startPosition)
        result = self.target.motion(keysPressed)

        self.assertTrue(result)
        self.assertTrue(self.target.reachCheckpoint)