From 23e10090dee6e4272c4f01528eb97d010712bc88 Mon Sep 17 00:00:00 2001 From: ImNotAVirus Date: Mon, 26 Aug 2019 16:54:59 +0200 Subject: [PATCH] :green_heart: Add tests for --- test/lib/elven_gard/protocol_test.exs | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 test/lib/elven_gard/protocol_test.exs diff --git a/test/lib/elven_gard/protocol_test.exs b/test/lib/elven_gard/protocol_test.exs new file mode 100644 index 0000000..9d7805e --- /dev/null +++ b/test/lib/elven_gard/protocol_test.exs @@ -0,0 +1,39 @@ +defmodule ElvenGard.ProtocolTest do + use ExUnit.Case + + defmodule BasicType do + use ElvenGard.Type + + @impl ElvenGard.Type + def encode(val, _opts), do: val + + @impl ElvenGard.Type + def decode(val, _opts), do: val + end + + describe "Protocol raise error if:" do + test "encode/1 is not defined" do + needle = ~r"function encode/1 required by behaviour" + + assert_raise RuntimeError, needle, fn -> + defmodule Test do + use ElvenGard.Protocol + + def decode(x), do: x + end + end + end + + test "decode/1 is not defined" do + needle = ~r"function decode/1 required by behaviour" + + assert_raise RuntimeError, needle, fn -> + defmodule Test do + use ElvenGard.Protocol + + def encode(x), do: x + end + end + end + end +end