-- Kør: luajit tests/test_adLoadSwap.lua (fra repo-roden) -- Ren rangering af aflæsnings-siloer (lagermål for udkørsel og læs-bytte). dofile("FS25_ADSmartPickup/adLoadSwap.lua") local L = ADLoadSwap 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 -- LS1: markører et andet forløb HENTER fra (fx "Milk Storage Load") vælges sidst; ellers har-varen, så afstand local candidates = { {marker = {id = 1, name = "Milk Storage Load"}, hasFillType = true, distance = 100}, {marker = {id = 2, name = "Milk Storage unload"}, hasFillType = true, distance = 400}, {marker = {id = 3, name = "Silo tom"}, hasFillType = false, distance = 10}, } local ranked = L.rankDumpCandidates(candidates, {[1] = true}) check("LS1 afhentningsmarkør undgås", ranked[1].marker.id, 2) check("LS1 derefter tom silo før afhentning", ranked[2].marker.id, 3) check("LS1 afhentning sidst (stadig mulig)", ranked[3].marker.id, 1) local plain = L.rankDumpCandidates(candidates, nil) check("LS1 uden undgå-liste: har varen + nærmest", plain[1].marker.id, 1) print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL")) os.exit(failures == 0 and 0 or 1)