-- Kør: luajit tests/test_fieldStatus.lua (fra repo-roden) dofile("FS25_ADSmartPickup/adFieldModel.lua") dofile("FS25_ADSmartPickup/adFieldView.lua") local V = ADFieldView 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 check("mangler markør", V.fieldStatus({hasMarker = false}), "error") check("arbejder", V.fieldStatus({hasMarker = true, working = true}), "running") check("arbejder men venter på maskine", V.fieldStatus({hasMarker = true, working = true, reasonKey = "spu_field_reason_allBusy"}), "waiting") check("for bred", V.fieldStatus({hasMarker = true, working = true, reasonKey = "spu_field_reason_tooWide"}), "error") check("ingen maskine", V.fieldStatus({hasMarker = true, reasonKey = "spu_field_reason_noRig"}), "error") check("regn", V.fieldStatus({hasMarker = true, working = true, reasonKey = "spu_field_reason_rain"}), "waiting") check("venter på spilleren (høster)", V.fieldStatus({hasMarker = true, awaiting = true}), "waiting") check("start bestilt", V.fieldStatus({hasMarker = true, startRequested = true}), "waiting") check("i ro", V.fieldStatus({hasMarker = true}), "stopped") print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL")) os.exit(failures == 0 and 0 or 1)