Linting and tests...
This commit is contained in:
@ -10,11 +10,12 @@ from ..display.display import Display
|
||||
from ..display.display_manager import DisplayManager
|
||||
from ..entities.friendly import Merchant, Sunflower
|
||||
from ..entities.items import Bomb, Heart, Sword, Explosion, Shield, Helmet, \
|
||||
Chestplate, RingCritical
|
||||
from ..entities.monsters import GiantSeaEagle
|
||||
Chestplate, RingCritical, Bow, FireBallStaff, ScrollofDamage,\
|
||||
ScrollofWeakening
|
||||
from ..entities.monsters import Rabbit, GiantSeaEagle
|
||||
from ..entities.player import Player
|
||||
from ..enums import DisplayActions
|
||||
from ..game import Game, KeyValues, GameMode
|
||||
from ..enums import DisplayActions, KeyValues, GameMode
|
||||
from ..game import Game
|
||||
from ..interfaces import Map
|
||||
from ..menus import MainMenuValues
|
||||
from ..resources import ResourceManager
|
||||
@ -344,7 +345,7 @@ class TestGame(unittest.TestCase):
|
||||
self.assertEqual(self.game.settings.KEY_LEFT_PRIMARY, 'a')
|
||||
|
||||
# Navigate to "texture pack"
|
||||
for ignored in range(12):
|
||||
for ignored in range(13):
|
||||
self.game.handle_key_pressed(KeyValues.DOWN)
|
||||
|
||||
# Change texture pack
|
||||
@ -756,3 +757,100 @@ class TestGame(unittest.TestCase):
|
||||
self.game.handle_key_pressed(KeyValues.ENTER)
|
||||
|
||||
self.assertEqual(self.game.state, GameMode.MAINMENU)
|
||||
|
||||
def test_launch(self) -> None:
|
||||
"""
|
||||
Use the long range weapons to kill some entities.
|
||||
"""
|
||||
self.game.state = GameMode.PLAY
|
||||
self.game.player.move(2, 6)
|
||||
|
||||
b = Bow()
|
||||
b.held_by = self.game.player
|
||||
self.game.player.equipped_main = b
|
||||
self.assertTrue(self.game.player.equipped_main)
|
||||
|
||||
entity = Rabbit()
|
||||
entity.health = 1
|
||||
self.game.map.add_entity(entity)
|
||||
entity.move(3, 6)
|
||||
|
||||
self.game.handle_launch(KeyValues.UP)
|
||||
|
||||
self.game.waiting_for_launch_key = True
|
||||
self.game.handle_key_pressed(KeyValues.CHAT)
|
||||
|
||||
entity = Rabbit()
|
||||
entity.health = 1
|
||||
self.game.map.add_entity(entity)
|
||||
entity.move(2, 8)
|
||||
self.game.waiting_for_launch_key = True
|
||||
self.game.handle_key_pressed(KeyValues.RIGHT)
|
||||
|
||||
entity = Rabbit()
|
||||
entity.health = 1
|
||||
self.game.map.add_entity(entity)
|
||||
entity.move(2, 5)
|
||||
self.game.waiting_for_launch_key = True
|
||||
self.game.handle_key_pressed(KeyValues.LEFT)
|
||||
|
||||
key = "l"
|
||||
KeyValues.translate_key(key, self.game.settings)
|
||||
|
||||
self.game.handle_key_pressed(KeyValues.LAUNCH)
|
||||
self.assertTrue(self.game.waiting_for_launch_key)
|
||||
self.game.handle_key_pressed(KeyValues.DOWN)
|
||||
|
||||
self.assertTrue(entity.dead)
|
||||
|
||||
entity2 = Rabbit()
|
||||
entity2.health = 1
|
||||
self.game.map.add_entity(entity2)
|
||||
entity2.move(1, 6)
|
||||
|
||||
b = FireBallStaff()
|
||||
self.game.player.inventory.append(b)
|
||||
b.held_by = self.game.player
|
||||
b.equip()
|
||||
|
||||
self.game.handle_key_pressed(KeyValues.LAUNCH)
|
||||
self.assertTrue(self.game.waiting_for_launch_key)
|
||||
self.game.handle_key_pressed(KeyValues.UP)
|
||||
|
||||
self.assertTrue(entity2.dead)
|
||||
|
||||
def test_scrolls(self) -> None:
|
||||
"""
|
||||
Use the scrolls.
|
||||
"""
|
||||
self.game.state = GameMode.PLAY
|
||||
self.game.player.move(2, 6)
|
||||
|
||||
entity = Rabbit()
|
||||
self.game.map.add_entity(entity)
|
||||
entity.move(3, 6)
|
||||
|
||||
entity2 = GiantSeaEagle()
|
||||
self.game.map.add_entity(entity2)
|
||||
entity2.move(3, 8)
|
||||
|
||||
scroll1 = ScrollofDamage()
|
||||
scroll2 = ScrollofWeakening()
|
||||
self.game.player.inventory.append(scroll1)
|
||||
self.game.player.inventory.append(scroll2)
|
||||
scroll1.held_by = self.game.player
|
||||
scroll2.held_by = self.game.player
|
||||
|
||||
scroll1.use()
|
||||
self.assertTrue(entity.health != entity.maxhealth)
|
||||
self.assertTrue(entity2.health != entity2.maxhealth)
|
||||
|
||||
scroll2.use()
|
||||
self.assertEqual(entity.strength, 0)
|
||||
self.assertEqual(entity2.strength, 999)
|
||||
|
||||
self.game.map.tick(self.game.player)
|
||||
self.game.map.tick(self.game.player)
|
||||
self.game.map.tick(self.game.player)
|
||||
|
||||
self.assertEqual(entity2.effects, [])
|
||||
|
Reference in New Issue
Block a user