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
40
41
42
43
44
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 ##
|