feat(oversigt): 'Stop alt og parkér' — flows, markarbejde og marksilo-lån stoppes, køretøjer til AD-parkering (manuelle høstere nævnes), pause der gemmes; 'Start alle' ophæver pausen og starter traktorerne én ad gangen hvert 10. sekund (v1.42.0.0)
This commit is contained in:
@@ -863,5 +863,38 @@ do
|
||||
check("C20 run markeret kørende", ADRunsController.runningRuns[qrun.id], true)
|
||||
end
|
||||
|
||||
|
||||
-- C21: Stop alt og parkér — stopper flow-traktorerne, sender dem til AD-parkering, sætter pause
|
||||
do
|
||||
buildWorld()
|
||||
local p1 = makeVehicle("vehicleP1", "P1", {STRAW, TMR}, 1000000, 100, 0)
|
||||
local p2 = makeVehicle("vehicleP2", "P2", {STRAW, TMR}, 1000000, 110, 0)
|
||||
local prun = ADRunsController.createRun("Park")
|
||||
ADRunsController.updateRun(prun.id, {targetWayPointIds = {94}})
|
||||
ADRunsController.assignVehicle(prun.id, p1)
|
||||
ADRunsController.assignVehicle(prun.id, p2)
|
||||
ADRunsController.startRun(adEnv, prun.id)
|
||||
local parked, paused = {}, nil
|
||||
local oldWork, oldJobs, oldSilos = ADFieldWork, ADFieldJobs, ADFieldSilos
|
||||
ADFieldWork = {
|
||||
parkMarkerId = function(_, v) return v == p1 and 700 or nil end,
|
||||
startAd = function(_, v, mode, first) parked[v] = first end,
|
||||
stopAllAssignments = function() return {} end,
|
||||
}
|
||||
ADFieldJobs = {setPaused = function(value) paused = value end}
|
||||
ADFieldSilos = {stopAll = function() end}
|
||||
ADRunsController.queueStartAll(adEnv)
|
||||
local summary = ADRunsController.stopAllAndPark(adEnv)
|
||||
check("C21 begge stoppet", (p1.stopped or 0) >= 1 and (p2.stopped or 0) >= 1, true)
|
||||
check("C21 P1 kører til parkering", parked[p1], 700)
|
||||
check("C21 P2 uden parkering bliver stående", parked[p2], nil)
|
||||
check("C21 tæller parkerede", summary.parked, 1)
|
||||
check("C21 nævner dem uden parkering", summary.noPark[1], "P2")
|
||||
check("C21 pause sat", paused, true)
|
||||
check("C21 startkø tømt", #ADRunsController.startQueue, 0)
|
||||
check("C21 run ikke længere kørende", ADRunsController.runningRuns[prun.id], nil)
|
||||
ADFieldWork, ADFieldJobs, ADFieldSilos = oldWork, oldJobs, oldSilos
|
||||
end
|
||||
|
||||
print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL"))
|
||||
os.exit(failures == 0 and 0 or 1)
|
||||
|
||||
Reference in New Issue
Block a user