floof/test/floof_test.exs

38 lines
988 B
Elixir
Raw Normal View History

2022-11-22 15:41:59 +00:00
defmodule FloofTest do
use ExUnit.Case
doctest Floof
2022-11-23 23:56:38 +00:00
test "SessionManager basic" do
cur = self()
spawn_link(fn ->
Floof.SessionManager.push(:a, 0)
Floof.SessionManager.push(:a, 2)
Floof.SessionManager.push(:a, 3)
assert Floof.SessionManager.pop(:a) == {:value, 0}
assert Floof.SessionManager.pop(:a) == {:value, 2}
assert Floof.SessionManager.pop(:a) == {:value, 3}
assert Floof.SessionManager.pop(:a) == :empty
send cur, :done
end)
spawn_link(fn ->
Floof.SessionManager.push(:b, 50)
Floof.SessionManager.push(:b, 12)
Floof.SessionManager.push(:b, 1)
assert Floof.SessionManager.pop(:b) == {:value, 50}
assert Floof.SessionManager.pop(:b) == {:value, 12}
assert Floof.SessionManager.pop(:b) == {:value, 1}
assert Floof.SessionManager.pop(:b) == :empty
send cur, :done
end)
for _ <- [1,2] do
receive do
:done -> nil
end
end
2022-11-22 15:41:59 +00:00
end
end