1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
"""This runs the nt tests for the W3C RDF Working Group's N-Quads
test suite."""
import os
from typing import Callable, Dict
from rdflib import Graph
from rdflib.term import Node, URIRef
from test import TEST_DIR
from test.manifest import RDFT, RDFTest, read_manifest
import pytest
verbose = False
def nt(test):
g = Graph()
try:
g.parse(test.action, format="nt")
if not test.syntax:
raise AssertionError("Input shouldn't have parsed!")
except:
if test.syntax:
raise
testers: Dict[Node, Callable[[RDFTest], None]] = {
RDFT.TestNTriplesPositiveSyntax: nt,
RDFT.TestNTriplesNegativeSyntax: nt,
}
@pytest.mark.parametrize(
"rdf_test_uri, type, rdf_test",
read_manifest(os.path.join(TEST_DIR, "w3c/nt/manifest.ttl"), legacy=True),
)
def test_manifest(rdf_test_uri: URIRef, type: Node, rdf_test: RDFTest):
testers[type](rdf_test)
|