fix(flows): traktorer der ikke findes længere fjernes fra flowet 2 min efter indlæsning (ikke hvis alle mangler); resuméet viser aldrig rå køretøjs-id (v1.59.6.0)
This commit is contained in:
@@ -203,6 +203,11 @@ check("FL10 regler", partText(lineFor(sumIn, "rules")), "spu_guide_flow_sumLoops
|
||||
check("FL10 vent", partText(lineFor(sumIn, "wait")), "spu_waitPool_all")
|
||||
check("FL10 traktorer", partText(lineFor(sumIn, "tractors")), "=Traktor 1")
|
||||
check("FL10 intet lager-trin", lineFor(sumIn, "store"), nil)
|
||||
-- traktor der ikke findes længere (solgt): aldrig rå id i resuméet (in-game 29/9)
|
||||
local withGhost = FG.choose(FG.choose(withTarget, "vehicleIds", {item = "t1", on = true}), "vehicleIds", {item = "vehicleGONE", on = true})
|
||||
check("FL10b resumé springer manglende over", partText(lineFor(FG.summary(withGhost), "tractors")), "=Traktor 1")
|
||||
local onlyGhost = FG.choose(withTarget, "vehicleIds", {item = "vehicleGONE", on = true})
|
||||
check("FL10b kun manglende -> ingen traktorer", partText(lineFor(FG.summary(onlyGhost), "tractors")), "spu_guide_flow_sumNoTractors")
|
||||
local sumOut = FG.summary(FG.choose(FG.choose(policy, "collectRound", true), "sellAtPercent", 95))
|
||||
check("FL11 retning ud", partText(lineFor(sumOut, "direction")), "spu_direction_out")
|
||||
check("FL11 fra tom", partText(lineFor(sumOut, "buildings")), "spu_guide_flow_none")
|
||||
|
||||
@@ -345,5 +345,20 @@ local ps3 = ADRuns.assignVehicle(ps2, prunB.id, "trac")
|
||||
check("R4 gammel flow glemmer vognen", ADRuns.getRun(ps3, prunA.id).wagons.trac, nil)
|
||||
local ps4 = ADRuns.unassignVehicle(ps2, "trac")
|
||||
check("R4 fjernet traktor: vogn glemt", ADRuns.getRun(ps4, prunA.id).wagons.trac, nil)
|
||||
-- oprydning: traktorer der ikke findes længere (solgt) fjernes fra deres flow — men ikke hvis ALLE mangler
|
||||
do
|
||||
local st, r1 = ADRuns.createRun(ADRuns.newStore(), "A", "supply")
|
||||
st = ADRuns.assignVehicle(st, r1.id, "keep")
|
||||
st = ADRuns.assignVehicle(st, r1.id, "gone")
|
||||
local exists = function(id) return id == "keep" end
|
||||
local pruned, removed = ADRuns.pruneMissingVehicles(st, exists)
|
||||
check("prune: fjernet", #removed, 1)
|
||||
check("prune: den rigtige", removed[1].vehicleId, "gone")
|
||||
check("prune: flowets navn med", removed[1].runName, "A")
|
||||
check("prune: tilbage", #ADRuns.getRun(pruned, r1.id).vehicleIds, 1)
|
||||
check("prune: original urørt", #ADRuns.getRun(st, r1.id).vehicleIds, 2)
|
||||
local _, none = ADRuns.pruneMissingVehicles(st, function() return false end)
|
||||
check("prune: alle mangler -> intet fjernes", #none, 0)
|
||||
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