Files
comp4958/labs/03/card/test/card_test.exs
T

30 lines
643 B
Elixir

defmodule CardTest do
use ExUnit.Case
setup do
{:ok, pid} = Card.Worker.start()
on_exit(fn ->
if Process.alive?(pid), do: GenServer.stop(pid)
end)
:ok
end
test "the server creates a fresh deck when it starts" do
assert Card.Worker.count() == 52
end
test "dealing removes cards from the server's deck" do
assert {:ok, cards} = Card.Worker.deal(5)
assert length(cards) == 5
assert Card.Worker.count() == 47
end
test "new replaces the current deck with a fresh deck" do
assert {:ok, _cards} = Card.Worker.deal(5)
Card.Worker.new()
assert Card.Worker.count() == 52
end
end