def setUp(self): self.pwp = PWProtocolFactory().buildProtocol('localhost') self.hcriat = CreaturesHandler() self.hcriat.score = Score() self.pwp.hcriat = self.hcriat self.pwp.hcriat.pw_map = Mapa("mapa") self.tr = NoDelayTransport() self.pwp.makeConnection(self.tr) self.player = self.pwp.hcriat.create_player(Team.BLUE, 1, 1)
class TestProtocol(TestCase): def setUp(self): self.pwp = PWProtocolFactory().buildProtocol('localhost') self.hcriat = CreaturesHandler() self.hcriat.score = Score() self.pwp.hcriat = self.hcriat self.pwp.hcriat.pw_map = Mapa("mapa") self.tr = NoDelayTransport() self.pwp.makeConnection(self.tr) self.player = self.pwp.hcriat.create_player(Team.BLUE, 1, 1) def tearDown(self): """Cancel all the pending calls to avoid problems""" pending = reactor.getDelayedCalls() for p in pending: if p.active(): p.cancel() def test_receive_login(self): self.assertEqual(self.pwp.login(1), {'uid': 3}) def test_receive_move(self): # moving a player who doesn't exists self.assertRaises(PlayerDoesNotExist, self.pwp.move, 1, 'n') # moving an existing player self.assertEqual(self.pwp.move(self.player.uid, 's'), OK_RESPONSE) # moving a player who can't move self.player.block_movement() # TODO: create a better response self.assertEqual(self.pwp.move(self.player.uid, 'n'), OK_RESPONSE) def test_receive_player_shoot(self): self.assertEqual(self.pwp.player_shoot(self.player.uid, 'n'), OK_RESPONSE) # testing a player who can't shot self.player.block_shot() # TODO: create a better response self.assertEqual(self.pwp.player_shoot(self.player.uid, 'n'), OK_RESPONSE) def test_restart_round(self): self.assertEqual(self.pwp.restart_round(self.player.uid), OK_RESPONSE) def test_hit(self): self.assertIsNone(self.pwp.hit(self.player.uid, 10)) # TODO: check what the client receive def test_die(self): self.assertIsNone(self.pwp.die(self.player.uid)) # TODO: check what the client receive def test_connection_lost(self): self.assertEqual(self.pwp.login(1), {'uid': 3}) self.assertEqual(len(self.hcriat.jugadores), 2) self.pwp.connectionLost('test') self.assertEqual(len(self.hcriat.jugadores), 1) def test_add_bot(self): self.assertEqual(len(self.pwp.factory.bots[Team.BLUE]), 0) self.pwp.add_bot(Team.BLUE) self.assertEqual(len(self.pwp.factory.bots[Team.BLUE]), 1) def test_delete_bot(self): self.pwp.add_bot(Team.BLUE) self.pwp.delete_bot(Team.BLUE) self.assertEqual(len(self.pwp.factory.bots[Team.BLUE]), 0) def test_delete_non_existent_bot(self): self.pwp.delete_bot(Team.BLUE) self.assertEqual(len(self.pwp.factory.bots[Team.BLUE]), 0)