""" 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 ##