rdf-ex/test/unit/triple_test.exs

30 lines
865 B
Elixir
Raw Normal View History

2016-10-15 16:26:56 +00:00
defmodule RDF.TripleTest do
use RDF.Test.Case
2016-10-15 16:26:56 +00:00
2017-04-10 01:06:20 +00:00
doctest RDF.Triple
alias RDF.Triple
describe "values/1" do
test "with a valid RDF.Triple" do
assert Triple.values({~I<http://example.com/S>, ~I<http://example.com/p>, XSD.integer(42)})
== {"http://example.com/S", "http://example.com/p", 42}
end
test "with an invalid RDF.Triple" do
refute Triple.values({~I<http://example.com/S>, ~I<http://example.com/p>})
refute Triple.values({self(), self(), self()})
end
end
test "values/2" do
assert {~I<http://example.com/S>, ~I<http://example.com/p>, XSD.integer(42)}
|> Triple.values(fn
{:object, object} -> object |> RDF.Term.value() |> Kernel.+(1)
{_, term} -> term |> to_string() |> String.last()
end)
== {"S", "p", 43}
end
2016-10-15 16:26:56 +00:00
end