exercism/elixir/secret-handshake/test/secret_handshake_test.exs

66 lines
1.6 KiB
Elixir

defmodule SecretHandshakeTest do
use ExUnit.Case
describe "Create a handshake for a number" do
#@tag :pending
test "wink for 1" do
assert SecretHandshake.commands(1) == ["wink"]
end
#@tag :pending
test "double blink for 10" do
assert SecretHandshake.commands(2) == ["double blink"]
end
#@tag :pending
test "close your eyes for 100" do
assert SecretHandshake.commands(4) == ["close your eyes"]
end
#@tag :pending
test "jump for 1000" do
assert SecretHandshake.commands(8) == ["jump"]
end
#@tag :pending
test "combine two actions" do
assert SecretHandshake.commands(3) == ["wink", "double blink"]
end
#@tag :pending
test "reverse two actions" do
assert SecretHandshake.commands(19) == ["double blink", "wink"]
end
#@tag :pending
test "reversing one action gives the same action" do
assert SecretHandshake.commands(24) == ["jump"]
end
#@tag :pending
test "reversing no actions still gives no actions" do
assert SecretHandshake.commands(16) == []
end
#@tag :pending
test "all possible actions" do
assert SecretHandshake.commands(15) == ["wink", "double blink", "close your eyes", "jump"]
end
#@tag :pending
test "reverse all possible actions" do
assert SecretHandshake.commands(31) == ["jump", "close your eyes", "double blink", "wink"]
end
#@tag :pending
test "do nothing for zero" do
assert SecretHandshake.commands(0) == []
end
#@tag :pending
test "do nothing if lower 5 bits not set" do
assert SecretHandshake.commands(32) == []
end
end
end