feat(marksilo): 'Kør overskud til produktion' — foder først: staldenes forbrug × valgt antal døgn bliver på gården, overskud køres til gårdens fabrikker (v1.44.0.0)
This commit is contained in:
@@ -84,5 +84,32 @@ r = P.plan(base({stores = {store("s", 400, {[WHEAT] = 30000}), store("t", 900, {
|
||||
loans = {{siloId = "A", fillType = WHEAT, liters = 30000, storeId = "s"}}, vehicles = {vehicle("v1", 400, 50000)}}))
|
||||
check("I1 næste vogn til det andet lager", r.dispatch[1] ~= nil and r.dispatch[1].storeId, "t")
|
||||
|
||||
-- kør til produktion: foder først, overskud til fabrik
|
||||
local function factory(id, x, free) return {id = id, kind = "production", markerId = id .. "m", x = x, z = 0, free = free} end
|
||||
local farmAndFactory = {store("farm", 5000, {[WHEAT] = 1000000}), factory("mill", 100, {[WHEAT] = 1000000})}
|
||||
r = P.plan(base({stores = farmAndFactory, silos = {silo("A", 500, {[WHEAT] = 90000})}, vehicles = {vehicle("v1", 400, 50000)},
|
||||
feedReserve = {[WHEAT] = 100000}, farmStock = {[WHEAT] = 20000}}))
|
||||
check("P1 reserve ikke dækket -> gårdlager selv om fabrik er nærmere", r.dispatch[1].storeId, "farm")
|
||||
r = P.plan(base({stores = farmAndFactory, silos = {silo("A", 500, {[WHEAT] = 90000})}, vehicles = {vehicle("v1", 400, 50000)},
|
||||
feedReserve = {[WHEAT] = 100000}, farmStock = {[WHEAT] = 150000}}))
|
||||
check("P2 reserve dækket -> fabrik", r.dispatch[1].storeId, "mill")
|
||||
r = P.plan(base({stores = farmAndFactory, silos = {silo("A", 500, {[WHEAT] = 90000})}, vehicles = {vehicle("v1", 400, 50000)}}))
|
||||
check("P3 ikke foder (ingen reserve) -> fabrik", r.dispatch[1].storeId, "mill")
|
||||
r = P.plan(base({stores = farmAndFactory, silos = {silo("A", 500, {[WHEAT] = 100000})}, vehicles = {vehicle("v1", 400, 50000), vehicle("v2", 400, 50000)},
|
||||
feedReserve = {[WHEAT] = 100000}, farmStock = {[WHEAT] = 70000}}))
|
||||
check("P4 første læs dækker resten af reserven -> gård", r.dispatch[1].storeId, "farm")
|
||||
check("P4 andet læs er overskud -> fabrik", r.dispatch[2].storeId, "mill")
|
||||
r = P.plan(base({stores = farmAndFactory, silos = {silo("A", 500, {[WHEAT] = 90000})}, vehicles = {vehicle("v1", 400, 50000)},
|
||||
feedReserve = {[WHEAT] = 100000}, farmStock = {[WHEAT] = 60000}, loans = {{siloId = "B", fillType = WHEAT, liters = 50000, storeId = "farm"}}}))
|
||||
check("P5 læs på vej til gården tæller med i reserven -> fabrik", r.dispatch[1] ~= nil and r.dispatch[1].storeId, "mill")
|
||||
r = P.plan(base({stores = {store("farm", 5000, {[WHEAT] = 1000000}), factory("mill", 100, {[CANOLA] = 1000000})}, silos = {silo("A", 500, {[WHEAT] = 90000})},
|
||||
vehicles = {vehicle("v1", 400, 50000)}, farmStock = {[WHEAT] = 999999}}))
|
||||
check("P6 ingen fabrik tager varen -> gårdlager", r.dispatch[1].storeId, "farm")
|
||||
r = P.plan(base({stores = {store("farm", 5000, {[CANOLA] = 1000000}), factory("mill", 100, {[WHEAT] = 1000000})}, silos = {silo("A", 500, {[WHEAT] = 90000})},
|
||||
vehicles = {vehicle("v1", 400, 50000)}, feedReserve = {[WHEAT] = 100000}}))
|
||||
check("P7 reserve mangler men ingen gård tager varen -> fabrik", r.dispatch[1].storeId, "mill")
|
||||
check("P7 status ok (ikke noFarmStore)", r.status[1].state, "ok")
|
||||
check("P7 status viser destination", r.status[1].toProduction, true)
|
||||
|
||||
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