76 lines
2.0 KiB
Elixir
76 lines
2.0 KiB
Elixir
defmodule FarmbotOS.Lua.Ext.FirmwareTest do
|
|
alias FarmbotOS.Lua.Ext.Firmware
|
|
use ExUnit.Case
|
|
use Mimic
|
|
setup :verify_on_exit!
|
|
|
|
test "calibrate/2" do
|
|
msg = "expected stub error"
|
|
lua = "return"
|
|
|
|
expect(FarmbotCeleryScript.SysCalls, :calibrate, 2, fn
|
|
"x" -> :ok
|
|
_ -> {:error, msg}
|
|
end)
|
|
|
|
assert {[true], ^lua} = Firmware.calibrate(["x"], lua)
|
|
assert {[nil, ^msg], ^lua} = Firmware.calibrate(["y"], lua)
|
|
end
|
|
|
|
test "move_absolute/2" do
|
|
msg = "expected stub error"
|
|
lua = "return"
|
|
|
|
expect(FarmbotCeleryScript.SysCalls, :move_absolute, 4, fn
|
|
1, _, _, _ -> :ok
|
|
_, _, _, _ -> {:error, msg}
|
|
end)
|
|
|
|
assert {[true], ^lua} = Firmware.move_absolute([1, 2, 3, 4], lua)
|
|
assert {[nil, ^msg], ^lua} = Firmware.move_absolute([5, 6, 7, 8], lua)
|
|
assert {[true], ^lua} = Firmware.move_absolute([1, 2, 3], lua)
|
|
assert {[nil, ^msg], ^lua} = Firmware.move_absolute([5, 6, 7], lua)
|
|
end
|
|
|
|
test "find_home/2" do
|
|
msg = "expected stub error"
|
|
lua = "return"
|
|
|
|
expect(FarmbotCeleryScript.SysCalls, :find_home, 2, fn
|
|
"x" -> :ok
|
|
_ -> {:error, msg}
|
|
end)
|
|
|
|
assert {[true], ^lua} = Firmware.find_home(["x"], lua)
|
|
assert {[nil, ^msg], ^lua} = Firmware.find_home(["y"], lua)
|
|
end
|
|
|
|
test "emergency_lock/2" do
|
|
msg = "expected stub error"
|
|
lua = "return"
|
|
|
|
expect(FarmbotCeleryScript.SysCalls, :emergency_lock, 1, fn -> :ok end)
|
|
assert {[true], ^lua} = Firmware.emergency_lock(:ok, lua)
|
|
|
|
expect(FarmbotCeleryScript.SysCalls, :emergency_lock, 1, fn ->
|
|
{:error, msg}
|
|
end)
|
|
|
|
assert {[nil, ^msg], ^lua} = Firmware.emergency_lock(nil, lua)
|
|
end
|
|
|
|
test "emergency_unlock/2" do
|
|
msg = "expected stub error"
|
|
lua = "return"
|
|
|
|
expect(FarmbotCeleryScript.SysCalls, :emergency_unlock, 1, fn -> :ok end)
|
|
assert {[true], ^lua} = Firmware.emergency_unlock(:ok, lua)
|
|
|
|
expect(FarmbotCeleryScript.SysCalls, :emergency_unlock, 1, fn ->
|
|
{:error, msg}
|
|
end)
|
|
|
|
assert {[nil, ^msg], ^lua} = Firmware.emergency_unlock(nil, lua)
|
|
end
|
|
end
|