diff options
Diffstat (limited to 'test/extractor')
-rw-r--r-- | test/extractor/generic/test_path.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/test/extractor/generic/test_path.py b/test/extractor/generic/test_path.py index 0beb37e..569703d 100644 --- a/test/extractor/generic/test_path.py +++ b/test/extractor/generic/test_path.py @@ -1,5 +1,6 @@ # standard imports +import os import unittest # bsie imports @@ -29,6 +30,12 @@ class TestPath(unittest.TestCase): rdfs:domain bsn:Entity ; rdfs:range xsd:string ; bsfs:unique "true"^^xsd:boolean . + + bse:dirname rdfs:subClassOf bsfs:Predicate ; + rdfs:domain bsn:Entity ; + rdfs:range xsd:string ; + bsfs:unique "true"^^xsd:boolean . + ''')) def test_extract(self): @@ -36,12 +43,13 @@ class TestPath(unittest.TestCase): node = _node.Node(ns.bsn.Entity, '') # Blank node content = '/tmp/foo/bar' p_filename = ext.schema.predicate(ns.bse.filename) + p_dirname = ext.schema.predicate(ns.bse.dirname) entity = ext.schema.node(ns.bsfs.Node).child(ns.bsn.Entity) string = ext.schema.literal(ns.bsfs.Literal).child(ns.xsd.string) # baseline - self.assertSetEqual(set(ext.extract(node, content, (p_filename, ))), - {(node, p_filename, 'bar')}) + self.assertSetEqual(set(ext.extract(node, content, (p_filename, p_dirname))), + {(node, p_filename, 'bar'), (node, p_dirname, '/tmp/foo')}) # predicates parameter is respected p_foo = ext.schema.predicate(ns.bsfs.Predicate).child(ns.bse.foo, domain=entity, range=string) # unsupported predicate self.assertSetEqual(set(ext.extract(node, content, (p_filename, p_foo))), @@ -53,10 +61,12 @@ class TestPath(unittest.TestCase): {(node, p_filename, 'bar')}) self.assertSetEqual(set(ext.extract(node, content, (p_bar, ))), set()) # path variations - self.assertSetEqual(set(ext.extract(node, 'bar', (p_filename, ))), - {(node, p_filename, 'bar')}) - self.assertSetEqual(set(ext.extract(node, '', (p_filename, ))), - {(node, p_filename, '')}) + self.assertSetEqual(set(ext.extract(node, 'bar', (p_filename, p_dirname))), + {(node, p_filename, 'bar'), (node, p_dirname, os.getcwd())}) + self.assertSetEqual(set(ext.extract(node, '/bar', (p_filename, p_dirname))), + {(node, p_filename, 'bar'), (node, p_dirname, '/')}) + self.assertSetEqual(set(ext.extract(node, '', (p_filename, p_dirname))), + {(node, p_filename, ''), (node, p_dirname, os.path.dirname(os.getcwd()))}) # errors are suppressed self.assertSetEqual(set(ext.extract(node, None, (p_filename, ))), set()) |