Add tests for merging RDF.PropertyMaps
Implementation wasn't needed, since the merge already works via the Enumerable protocol implementation.
This commit is contained in:
parent
875908eb39
commit
5d9ddeb7fe
1 changed files with 47 additions and 0 deletions
|
@ -105,6 +105,31 @@ defmodule RDF.PropertyMapTest do
|
||||||
}) == {:ok, @example_property_map}
|
}) == {:ok, @example_property_map}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "with a disjunctive PropertyMap" do
|
||||||
|
assert {:ok, property_map} =
|
||||||
|
PropertyMap.new()
|
||||||
|
|> PropertyMap.add(PropertyMap.new(foo: ~I<http://example.com/test/foo>))
|
||||||
|
|
||||||
|
assert PropertyMap.add(
|
||||||
|
property_map,
|
||||||
|
PropertyMap.new(%{
|
||||||
|
bar: "http://example.com/test/bar",
|
||||||
|
Baz: EX.Baz
|
||||||
|
})
|
||||||
|
) == {:ok, @example_property_map}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "with a conflicting PropertyMap" do
|
||||||
|
assert {:error, _} =
|
||||||
|
PropertyMap.add(@example_property_map, PropertyMap.new(foo: EX.other()))
|
||||||
|
|
||||||
|
assert {:error, _} =
|
||||||
|
PropertyMap.add(
|
||||||
|
@example_property_map,
|
||||||
|
PropertyMap.new(other: ~I<http://example.com/test/foo>)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
test "when a mapping to the same IRI exists" do
|
test "when a mapping to the same IRI exists" do
|
||||||
assert PropertyMap.add(@example_property_map,
|
assert PropertyMap.add(@example_property_map,
|
||||||
foo: ~I<http://example.com/test/foo>,
|
foo: ~I<http://example.com/test/foo>,
|
||||||
|
@ -143,6 +168,28 @@ defmodule RDF.PropertyMapTest do
|
||||||
}) == @example_property_map
|
}) == @example_property_map
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "with a disjunctive PropertyMap" do
|
||||||
|
assert PropertyMap.new()
|
||||||
|
|> PropertyMap.put(PropertyMap.new(foo: ~I<http://example.com/test/foo>))
|
||||||
|
|> PropertyMap.put(
|
||||||
|
PropertyMap.new(%{
|
||||||
|
bar: "http://example.com/test/bar",
|
||||||
|
Baz: EX.Baz
|
||||||
|
})
|
||||||
|
) == @example_property_map
|
||||||
|
end
|
||||||
|
|
||||||
|
test "with a conflicting PropertyMap" do
|
||||||
|
assert @example_property_map
|
||||||
|
|> PropertyMap.put(PropertyMap.new(foo: EX.other()))
|
||||||
|
|> PropertyMap.put(PropertyMap.new(other: ~I<http://example.com/test/bar>)) ==
|
||||||
|
PropertyMap.new(
|
||||||
|
foo: EX.other(),
|
||||||
|
other: ~I<http://example.com/test/bar>,
|
||||||
|
Baz: RDF.iri(EX.Baz)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
test "when mapping exists" do
|
test "when mapping exists" do
|
||||||
assert PropertyMap.put(@example_property_map,
|
assert PropertyMap.put(@example_property_map,
|
||||||
bar: "http://example.com/test/bar",
|
bar: "http://example.com/test/bar",
|
||||||
|
|
Loading…
Reference in a new issue