fix(marker): arbejdsbredde læser variabel bredde (Unrealistic Pack) før AI-markører, som Courseplay (v1.21.1.0)
In-game 25/9: BiG M 450 læst som 10 m og læssevogn som 2,4 m, selv om begge står på 40,8 m.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
-- Kør: luajit tests/test_adCpBridge.lua (fra repo-roden)
|
||||
-- Kun getWorkWidth: variabel bredde (Unrealistic Pack) vinder over AI-markørernes grundbredde.
|
||||
dofile("FS25_ADSmartPickup/adCpBridge.lua")
|
||||
local failures = 0
|
||||
local function check(name, actual, expected)
|
||||
if actual == expected then print("OK " .. name) else
|
||||
failures = failures + 1
|
||||
print(string.format("FAIL %s: forventede %s, fik %s", name, tostring(expected), tostring(actual)))
|
||||
end
|
||||
end
|
||||
|
||||
local function withMarkers(width)
|
||||
return {getAIMarkers = function() return 1, 2, 3, 4, width end}
|
||||
end
|
||||
|
||||
-- W1: læssevogn med variabel bredde 20,4 + 20,4 = 40,8 m, AI-markører siger 2,4 m
|
||||
local wagon = withMarkers(2.4)
|
||||
wagon.getVariableWorkWidth = function(_, isLeft) return isLeft and 20.4 or -20.4, nil, true end
|
||||
local tractor = {getAttachedImplements = function() return {{object = wagon}} end}
|
||||
check("W1 variabel bredde", ADCpBridge.getWorkWidth(tractor), 40.8)
|
||||
-- W2: ugyldig variabel bredde -> AI-markører
|
||||
local plain = withMarkers(9.5)
|
||||
plain.getVariableWorkWidth = function() return 0, nil, false end
|
||||
check("W2 AI-markører", ADCpBridge.getWorkWidth(plain), 9.5)
|
||||
-- W3: selvkørende slåmaskine uden redskaber, kun variabel bredde
|
||||
local mower = {getVariableWorkWidth = function(_, isLeft) return isLeft and 20.4 or -20.4, nil, true end}
|
||||
check("W3 selvkørende", ADCpBridge.getWorkWidth(mower), 40.8)
|
||||
|
||||
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