feat(markarbejde): genbrug Courseplay-kurser — markform-signatur + kursus-register pr. maskine; genbrug/kopi i stedet for ny beregning, glemmes ved ændret mark (v1.34.0.0)
This commit is contained in:
@@ -115,5 +115,38 @@ check("PL tilladt", ADCpBridge.isPlantableIn(fruitPlant, 3), true)
|
||||
check("PL ikke nu", ADCpBridge.isPlantableIn(fruitPlant, 4), false)
|
||||
check("PL ukendt data = tilladt", ADCpBridge.isPlantableIn({}, 4), true)
|
||||
|
||||
-- CR: kursus-genbrug — start på maskinens eget kursus uden at CP beregner et nyt (opts.reuse)
|
||||
do
|
||||
local generated, started = 0, 0
|
||||
AIJobType = {FIELDWORK_CP = 1}
|
||||
function getWorldTranslation() return 0, 0, 0 end
|
||||
local job = {cpJobParameters = {}}
|
||||
function job.applyCurrentState() end
|
||||
function job.setValues() end
|
||||
function job.validate() return true end
|
||||
function job.registerFieldBoundaryDetectionCallback() end
|
||||
function job.detectFieldBoundary() return true, false, "" end
|
||||
function job.onClickGenerateFieldWorkCourse(_, callback) generated = generated + 1; callback(true) end
|
||||
g_currentMission = {aiJobTypeManager = {createJob = function() return job end},
|
||||
aiSystem = {startJob = function() started = started + 1 end}}
|
||||
local course = {}
|
||||
local vehicle = {rootNode = 1, getOwnerFarmId = function() return 1 end, getFieldWorkCourse = function() return course end}
|
||||
local reason = "?"
|
||||
ADCpBridge.start(vehicle, 0, 0, function(ok, r) reason = ok and (r or "generated") or "fail" end, {reuse = true})
|
||||
check("CR1 genbrug: ingen beregning", generated, 0)
|
||||
check("CR2 genbrug: CP startet", started, 1)
|
||||
check("CR3 genbrug: reason", reason, "reused")
|
||||
-- ingen kursus på maskinen -> beregnes alligevel
|
||||
vehicle.getFieldWorkCourse = function() return nil end
|
||||
ADCpBridge.start(vehicle, 0, 0, function(ok, r) reason = ok and (r or "generated") or "fail" end, {reuse = true})
|
||||
check("CR4 intet kursus -> beregnes", generated, 1)
|
||||
check("CR5 reason ny", reason, "generated")
|
||||
-- uden reuse: beregnes som før
|
||||
vehicle.getFieldWorkCourse = function() return course end
|
||||
ADCpBridge.start(vehicle, 0, 0, function(ok, r) reason = ok and (r or "generated") or "fail" end, {})
|
||||
check("CR6 uden reuse -> beregnes", generated, 2)
|
||||
AIJobType, g_currentMission = nil, nil
|
||||
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