23 lines
647 B
Elixir
23 lines
647 B
Elixir
defmodule Parser.StatusTest do
|
|
use ExUnit.Case, async: true
|
|
use ExUnitProperties
|
|
|
|
alias Parser.Status
|
|
|
|
describe "parse/1" do
|
|
test "returns a status map for valid input" do
|
|
assert Status.parse(">Test status message") == %{
|
|
data_type: :status,
|
|
status_text: "Test status message"
|
|
}
|
|
end
|
|
|
|
property "always returns a map with :data_type == :status for any string" do
|
|
check all s <- StreamData.string(:ascii, min_length: 1, max_length: 30) do
|
|
result = Status.parse(s)
|
|
assert is_map(result)
|
|
assert result[:data_type] == :status
|
|
end
|
|
end
|
|
end
|
|
end
|