aboutsummaryrefslogtreecommitdiffstats
path: root/test/extractor/generic/test_path.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/extractor/generic/test_path.py')
-rw-r--r--test/extractor/generic/test_path.py22
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())