8.3% coverage

pull/1113/head
Rick Carlino 2020-01-13 15:15:26 -06:00
parent 4b92386534
commit 82f63dd0cc
4 changed files with 36 additions and 39 deletions

View File

@ -17,6 +17,7 @@ defmodule FarmbotFirmware.UartDefaultAdapter do
@impl FarmbotFirmware.UartAdapter
def stop(uart_pid) do
IO.puts("Hello?")
UART.stop(uart_pid)
end

View File

@ -18,8 +18,8 @@ defmodule FarmbotFirmware.UARTTransport do
{:ok, %{uart: uart, device: device, open: false, handle_gcode: handle_gcode, reset: reset}, 0}
end
def terminate(_, state) do
uart_adapter().stop(state.uart)
def terminate(_, %{uart: uart}) do
uart_adapter().stop(uart)
end
def handle_info(:timeout, %{open: false} = state) do

View File

@ -6,6 +6,39 @@ defmodule FarmbotFirmware.UARTTransportTest do
setup [:verify_on_exit!]
doctest FarmbotFirmware.UARTTransport
test "FarmbotFirmware.UARTTransport.init/1" do
expect(FarmbotFirmware.UartTestAdapter, :start_link, fn ->
{:ok, :FAKE_UART}
end)
init_args = [
device: :FAKE_DEVICE,
handle_gcode: :FAKE_GCODE_HANDLER,
reset: :FAKE_RESETER
]
{:ok, state, 0} = FarmbotFirmware.UARTTransport.init(init_args)
assert state.device == Keyword.fetch!(init_args, :device)
assert state.handle_gcode == Keyword.fetch!(init_args, :handle_gcode)
assert state.reset == Keyword.fetch!(init_args, :reset)
end
test "FarmbotFirmware.UARTTransport.terminate/2" do
expect(FarmbotFirmware.UartTestAdapter, :stop, fn uart ->
assert uart == :whatever
end)
state = %{uart: :whatever}
FarmbotFirmware.UARTTransport.terminate(nil, state)
end
test "FarmbotFirmware.UARTTransport.reset/2" do
empty_state = %{reset: nil}
ok_state = %{reset: %{reset: :fake_reset}}
assert :ok == FarmbotFirmware.UARTTransport.reset(empty_state)
assert :fake_reset == FarmbotFirmware.UARTTransport.reset(ok_state)
end
test "FarmbotFirmware.UARTTransport.open/2" do
me = self()
@ -17,17 +50,4 @@ defmodule FarmbotFirmware.UARTTransportTest do
FarmbotFirmware.UARTTransport.open(me, "/dev/null", a: :b)
end
defmodule FakeReseter do
def reset do
:fake_reset
end
end
test "FarmbotFirmware.UARTTransport.reset/2" do
empty_state = %{reset: nil}
ok_state = %{reset: FakeReseter}
assert :ok == FarmbotFirmware.UARTTransport.reset(empty_state)
assert :fake_reset == FarmbotFirmware.UARTTransport.reset(ok_state)
end
end

View File

@ -1,24 +0,0 @@
defmodule FarmbotFirmware.UartTestAdapter do
@behaviour FarmbotFirmware.UartAdapter
@impl FarmbotFirmware.UartAdapter
def start_link() do
# UART.start_link()
raise("WIP")
end
@impl FarmbotFirmware.UartAdapter
def stop(uart_pid) do
# UART.stop(uart_pid)
raise("WIP")
end
@impl FarmbotFirmware.UartAdapter
def write(uart_pid, str) do
# UART.write(uart_pid, str)
raise("WIP")
end
@impl FarmbotFirmware.UartAdapter
def generate_opts(), do: []
end