Migrate sweep ingress's tasks to waypoint actions.

This commit is contained in:
Dan Albert
2023-08-13 22:26:54 -07:00
parent c00f853f34
commit b7723843c6
12 changed files with 149 additions and 35 deletions

View File

@@ -0,0 +1,38 @@
from datetime import datetime, timedelta
from dcs.task import Targets
from game.ato.flightstate.actionstate import ActionState
from game.flightplan.waypointactions.engagetargets import EngageTargets
from game.flightplan.waypointactions.taskcontext import TaskContext
from game.utils import meters
def test_engage_targets() -> None:
tasks = list(
EngageTargets(
meters(100), [Targets.All.Air.Planes, Targets.All.Air.Helicopters]
).iter_tasks(TaskContext(datetime.now()))
)
assert len(tasks) == 1
task = tasks[0]
assert task.id == "EngageTargets"
assert task.params["targetTypes"] == {
1: Targets.All.Air.Planes,
2: Targets.All.Air.Helicopters,
}
assert task.params["value"] == "Planes;Helicopters"
assert task.params["maxDist"] == 100
def test_engage_targets_update_state() -> None:
task = EngageTargets(meters(100), [Targets.All])
state = ActionState(task)
assert not task.update_state(state, datetime.now(), timedelta())
assert state.is_finished()
def test_engage_targets_description() -> None:
assert (
EngageTargets(meters(100), [Targets.All]).describe() == "Searching for targets"
)

View File

@@ -0,0 +1,13 @@
from datetime import datetime
from dcs.task import OptFormation
from game.flightplan.waypointactions.taskcontext import TaskContext
from game.flightplan.waypointoptions.formation import Formation
def test_formation() -> None:
tasks = list(Formation.LINE_ABREAST_OPEN.iter_tasks(TaskContext(datetime.now())))
assert len(tasks) == 1
task = tasks[0]
assert task.dict() == OptFormation.line_abreast_open().dict()