123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- # coding: utf-8
- import pytest
- from synergine2.config import Config
-
- from opencombat.exception import NotFoundException
- from opencombat.strategy.team.model import TeamModel
- from opencombat.strategy.team.stash import TeamStash
- from opencombat.strategy.unit.model import UnitModel
- from opencombat.strategy.unit.stash import UnitStash
-
-
- @pytest.fixture
- def unit_stash(
- config: Config,
- ) -> UnitStash:
- return UnitStash(
- config,
- 'tests/fixtures/units.xml',
- )
-
-
- def test_units_stash__ok__instantiate(
- config: Config,
- unit_stash: UnitStash,
- ):
- TeamStash(
- config,
- 'opencombat/strategy/teams.xml',
- unit_stash=unit_stash,
- )
-
-
- def test_team_stash__ok__get_teams(
- config: Config,
- unit_stash: UnitStash,
- ):
- stash = TeamStash(
- config,
- 'tests/fixtures/teams.xml',
- unit_stash=unit_stash,
- )
- assert stash.teams
- assert 2 == len(stash.teams)
- assert isinstance(stash.teams[0], TeamModel)
- assert isinstance(stash.teams[1], TeamModel)
-
- assert 'std_team' == stash.teams[0].id
- assert 'Standard team' == stash.teams[0].name
- assert 'USSR' == stash.teams[0].country
- assert stash.teams[0].units
- assert 4 == len(stash.teams[0].units)
- assert isinstance(stash.teams[0].units[0], UnitModel)
- assert 'std_soldier' == stash.teams[0].units[0].id
- assert 'std_soldier' == stash.teams[0].units[1].id
- assert 'std_soldier' == stash.teams[0].units[2].id
- assert 'std_soldier' == stash.teams[0].units[3].id
-
- assert 'std_team' == stash.teams[1].id
- assert 'Standard team' == stash.teams[1].name
- assert 'DE' == stash.teams[1].country
- assert stash.teams[0].units
- assert 4 == len(stash.teams[1].units)
- assert isinstance(stash.teams[1].units[0], UnitModel)
- assert 'std_soldier' == stash.teams[1].units[0].id
- assert 'std_soldier' == stash.teams[1].units[1].id
- assert 'std_soldier' == stash.teams[1].units[2].id
- assert 'std_soldier' == stash.teams[1].units[3].id
-
-
- def test_teams_stash__ok__get_unit(
- config: Config,
- unit_stash: UnitStash,
- ):
- stash = TeamStash(
- config,
- 'tests/fixtures/teams.xml',
- unit_stash=unit_stash,
- )
- assert stash.get_team('std_team', 'USSR')
-
-
- def test_teams_stash__error__get_team_wrong_country(
- config: Config,
- unit_stash: UnitStash,
- ):
- stash = TeamStash(
- config,
- 'tests/fixtures/teams.xml',
- unit_stash=unit_stash,
- )
-
- with pytest.raises(NotFoundException):
- stash.get_team('std_team', 'UNKNOWN')
-
-
- def test_teams_stash__error__get_team_wrong_id(
- config: Config,
- unit_stash: UnitStash,
- ):
- stash = TeamStash(
- config,
- 'tests/fixtures/teams.xml',
- unit_stash=unit_stash,
- )
-
- with pytest.raises(NotFoundException):
- stash.get_team('unknown', 'USSR')
|