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``.
|
||||
|
||||
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::
|
||||
|
||||
?subject_var <http://www.wikidata.org/prop/direct/P2144> ?object_var.
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
|
||||
import textwrap
|
||||
|
||||
import pytest
|
||||
import rdflib
|
||||
|
||||
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