local tcname = 'tests.e2.insects' local lunit = require('lunit') if _VERSION >= 'Lua 5.2' then _ENV = module(tcname, 'seeall') else module(tcname, lunit.testcase, package.seeall) end function setup() eressea.free_game() eressea.settings.set("rules.food.flags", "4") eressea.settings.set("nmr.timeout", "0") eressea.settings.set("NewbieImmunity", "0") end function test_move_to_glacier() local r = region.create(0, 0, "plain") local r2 = region.create(1, 0, "glacier") local f = faction.create("insect") local u = unit.create(f, r, 1) u:clear_orders() u:add_order("NACH OST") process_orders() assert_equal(r, u.region) end function test_sail_to_glacier() local r = region.create(0, 0, "ocean") local r2 = region.create(1, 0, "glacier") local f = faction.create("insect") local u1 = unit.create(f, r, 1, 'insect') u1.ship = ship.create(r, 'boat') u1:set_skill("sailing", 10) u1:clear_orders() u1:add_order("NACH OST") process_orders() assert_equal(r, u1.region) end function test_passenger_into_glacier() local r = region.create(0, 0, "ocean") local r2 = region.create(1, 0, "glacier") local f = faction.create("insect") local u1 = unit.create(f, r, 1, 'human') local u2 = unit.create(f, r, 1, 'insect') u1.ship = ship.create(r, 'boat') u1:set_skill("sailing", 10) u1:clear_orders() u1:add_order("NACH OST") u2.ship = u1.ship process_orders() assert_equal(r2, u2.region) end function test_recruit_in_winter() local r = region.create(0, 0, "plain") local f = faction.create("insect") local u = unit.create(f, r, 1) u:add_item('money', 1000) u:clear_orders() u:add_order("REKRUTIERE 1") set_turn(1010) process_orders() assert_equal('winter', get_season(get_turn())) assert_equal(1, u.number) u:clear_orders() u:add_order("REKRUTIERE 1") set_turn(1011) process_orders() assert_equal('spring', get_season(get_turn())) assert_equal(2, u.number) end function test_recruit_in_desert() local r = region.create(0, 0, "desert") local f = faction.create("insect") local u = unit.create(f, r, 1) u:add_item('money', 1000) u:clear_orders() u:add_order("REKRUTIERE 1") set_turn(1010) process_orders() assert_equal('winter', get_season(get_turn())) assert_equal(2, u.number) end function test_ride_through_mountain() local r1 = region.create(1, 0, "plain") local r2 = region.create(2, 0, "mountain") local r3 = region.create(3, 0, "plain") local f = faction.create("insect") local u = unit.create(f, r1, 1) u.name="Hercules" u:add_order('NACH O O') u:add_item('horse', 1) u:set_skill('riding', 1, true) process_orders() assert_equal(r3, u.region) end function test_ride_from_mountain() local r1 = region.create(1, 0, "mountain") local r2 = region.create(2, 0, "plain") local r3 = region.create(3, 0, "plain") local f = faction.create("insect") local u = unit.create(f, r1, 1) u:add_order('NACH O O') u:add_item('horse', 1) u:set_skill('riding', 1, true) process_orders() assert_equal(r2, u.region) end