(45.1%) set io mode tests

pull/1153/head
Rick Carlino 2020-02-17 17:42:09 -06:00
parent de0953b5bf
commit cf370f2e06
1 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
defmodule FarmbotOS.SysCalls.SetPinIOModeTest do
use ExUnit.Case, async: true
use Mimic
setup :verify_on_exit!
alias FarmbotOS.SysCalls.SetPinIOMode
test "set_pin_io_mode" do
modes = %{
1 => 0x2,
2 => 0x0,
3 => 0x1,
4 => 0x0,
5 => 0x1,
6 => 0x2
}
expect(FarmbotFirmware, :command, 6, fn
{:pin_mode_write, [p: pin_number, m: actual_mode]} ->
expected_mode = Map.fetch!(modes, pin_number)
assert expected_mode == actual_mode
:ok
end)
SetPinIOMode.set_pin_io_mode(1, "input_pullup")
SetPinIOMode.set_pin_io_mode(2, "input")
SetPinIOMode.set_pin_io_mode(3, "output")
SetPinIOMode.set_pin_io_mode(4, 0x0)
SetPinIOMode.set_pin_io_mode(5, 0x1)
SetPinIOMode.set_pin_io_mode(6, 0x2)
end
end