feat(udkørsel): kilder hvis læssestationer deler lager (mælketanke som udvidelser) regnes som ét stop (v1.17.3.0)
This commit is contained in:
@@ -543,5 +543,23 @@ v24b.trailers[1].setAllTensionBeltsActive = function(self, active) self.beltsAct
|
||||
adEnv.LoadAtDestinationTask.finished(newTask(v24b, 1))
|
||||
check("O24 tipvogn uden tur: rører ikke stropper", v24b.trailers[1].beltsActive, nil)
|
||||
|
||||
-- O-pool: to kilder hvis stationer deler lager (mælketanke som udvidelser) = ét stop i runden
|
||||
do
|
||||
local pool = {}
|
||||
local st1, st2 = sources[1].station, sources[2].station
|
||||
sources[1].station = {name = "tankA", sourceStorages = {[pool] = pool}}
|
||||
sources[2].station = {name = "tankB", sourceStorages = {[pool] = pool}}
|
||||
local vPool = newVehicle("Tank", 0, 0, 10000)
|
||||
runs[vPool] = outboundRun(77, {1, 2}, {{fillType = "SUGAR", policy = "sell"}}, {collectRound = true})
|
||||
local inputPool = ADOutbound.buildPlanInput(adEnv, runs[vPool], vPool)
|
||||
local ids = {}
|
||||
for _, product in ipairs(inputPool.products) do
|
||||
for _, source in ipairs(product.sources) do table.insert(ids, tostring(source.wayPointId)) end
|
||||
end
|
||||
check("O-pool kun første kilde", table.concat(ids, ","), "1")
|
||||
check("O-pool logget", lastLog("deler lager") ~= nil, true)
|
||||
sources[1].station, sources[2].station = st1, st2
|
||||
end
|
||||
|
||||
print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL"))
|
||||
os.exit(failures == 0 and 0 or 1)
|
||||
|
||||
@@ -144,5 +144,17 @@ local twoSources = product("STRAW_BASKET", BASKET, "store", {{wayPointId = 5, av
|
||||
check("P14 paller summeres over kilder", P.plan(palletInput({twoSources})).kind, "store")
|
||||
check("P14 evaluate palletCount", P.evaluate(twoSources, palletInput({})).palletCount, 4)
|
||||
|
||||
-- P15: kilder der deler lager (mælketanke = udvidelser inden for storageRadius) regnes som ét stop;
|
||||
-- den første i forløbets rækkefølge beholdes, rækkefølgen bevares
|
||||
local storA, storB, storC = {}, {}, {}
|
||||
local pools = {[1] = {storA, storB}, [2] = {storB}, [3] = {storC}, [4] = {storA}, [5] = nil}
|
||||
local srcs = {{wayPointId = 1}, {wayPointId = 2}, {wayPointId = 3}, {wayPointId = 4}, {wayPointId = 5}}
|
||||
local kept, merged = P.dedupeSharedSources(srcs, function(source) return pools[source.wayPointId] end)
|
||||
check("P15 behold 1, 3, 5", join((function() local ids = {} for _, s in ipairs(kept) do table.insert(ids, s.wayPointId) end return ids end)()), "1,3,5")
|
||||
check("P15 slået sammen: 2 og 4 ind i 1", join(merged[1]), "2,4")
|
||||
check("P15 kilde uden lagre beholdes", kept[3].wayPointId, 5)
|
||||
local none = P.dedupeSharedSources({}, function() return nil end)
|
||||
check("P15 tom liste", #none, 0)
|
||||
|
||||
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