Compare commits
2 Commits
3a6d306fbf
...
df975efcd3
Author | SHA1 | Date | |
---|---|---|---|
Val Lorentz | df975efcd3 | ||
Val Lorentz | c414514de3 |
|
@ -61,7 +61,7 @@ class Field(abc.ABC, Generic[_TFieldValue]):
|
||||||
to ``subject_var``.
|
to ``subject_var``.
|
||||||
|
|
||||||
For example, if this ``Field`` represents the `"CPU frequency"
|
For example, if this ``Field`` represents the `"CPU frequency"
|
||||||
<https://www.wikidata.org/wiki/Property:P2144>`, ``subject_var`` is ``a``, and
|
<https://www.wikidata.org/wiki/Property:P2144>`__, ``subject_var`` is ``a``, and
|
||||||
``object_var`` is `b``, this will return::
|
``object_var`` is `b``, this will return::
|
||||||
|
|
||||||
?subject_var <http://www.wikidata.org/prop/direct/P2144> ?object_var.
|
?subject_var <http://www.wikidata.org/prop/direct/P2144> ?object_var.
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
|
import pytest
|
||||||
import rdflib
|
import rdflib
|
||||||
|
|
||||||
from glowtables.table import Language, LiteralField, Table
|
from glowtables.table import Language, LiteralField, Table
|
||||||
|
@ -90,3 +91,35 @@ def test_default_value() -> None:
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_field_id_subject() -> None:
|
||||||
|
name_field = LiteralField(
|
||||||
|
"subject",
|
||||||
|
{Language("en"): "Name"},
|
||||||
|
rdflib.URIRef("http://example.org/display-name"),
|
||||||
|
)
|
||||||
|
with pytest.raises(ValueError, match="both subject and a field id"):
|
||||||
|
Table(
|
||||||
|
fields=[name_field],
|
||||||
|
constraints="",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_field_id_clash() -> None:
|
||||||
|
name_field = LiteralField(
|
||||||
|
"name",
|
||||||
|
{Language("en"): "Name"},
|
||||||
|
rdflib.URIRef("http://example.org/name"),
|
||||||
|
)
|
||||||
|
display_name_field = LiteralField(
|
||||||
|
"name",
|
||||||
|
{Language("en"): "Display Name"},
|
||||||
|
rdflib.URIRef("http://example.org/display-name"),
|
||||||
|
)
|
||||||
|
with pytest.raises(ValueError, match="has duplicate field ids: name"):
|
||||||
|
Table(
|
||||||
|
fields=[name_field, display_name_field],
|
||||||
|
constraints="",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue