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)
|