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.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/extractor/generic/test_path.py b/test/extractor/generic/test_path.py
new file mode 100644
index 0000000..8623490
--- /dev/null
+++ b/test/extractor/generic/test_path.py
@@ -0,0 +1,45 @@
+"""
+
+Part of the bsie test suite.
+A copy of the license is provided with the project.
+Author: Matthias Baumgartner, 2022
+"""
+# imports
+import unittest
+
+# bsie imports
+from bsie.utils import ns
+from bsie.utils.node import Node
+
+# objects to test
+from bsie.extractor.generic.path import Path
+
+
+## code ##
+
+class TestPath(unittest.TestCase):
+ def test_extract(self):
+ node = Node(ns.bsfs.Entity, '') # Blank node
+ ext = Path()
+
+ # baseline
+ self.assertSetEqual(set(ext.extract(node, '/tmp/foo/bar', (ns.bse.filename, ))),
+ {(node, ns.bse.filename, 'bar')})
+ # predicates parameter is respected
+ self.assertSetEqual(set(ext.extract(node, '/tmp/foo/bar', (ns.bse.filename, ns.bse.foo))),
+ {(node, ns.bse.filename, 'bar')})
+ self.assertSetEqual(set(ext.extract(node, '/tmp/foo/bar', (ns.bse.foo, ))), set())
+ # path variations
+ self.assertSetEqual(set(ext.extract(node, 'bar', (ns.bse.filename, ))),
+ {(node, ns.bse.filename, 'bar')})
+ self.assertSetEqual(set(ext.extract(node, '', (ns.bse.filename, ))),
+ {(node, ns.bse.filename, '')})
+ self.assertSetEqual(set(ext.extract(node, None, (ns.bse.filename, ))), set())
+
+
+## main ##
+
+if __name__ == '__main__':
+ unittest.main()
+
+## EOF ##