diff options
Diffstat (limited to 'test/extractor/generic/test_stat.py')
-rw-r--r-- | test/extractor/generic/test_stat.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/extractor/generic/test_stat.py b/test/extractor/generic/test_stat.py new file mode 100644 index 0000000..f89b053 --- /dev/null +++ b/test/extractor/generic/test_stat.py @@ -0,0 +1,43 @@ +""" + +Part of the bsie test suite. +A copy of the license is provided with the project. +Author: Matthias Baumgartner, 2022 +""" +# imports +import os +import unittest + +# bsie imports +from bsie.utils import ns +from bsie.utils.node import Node + +# objects to test +from bsie.extractor.generic.stat import Stat + + +## code ## + +class TestConstant(unittest.TestCase): + def test_extract(self): + node = Node(ns.bsfs.Entity, '') # Blank node + content = os.stat(__file__) + ext = Stat() + + # baseline + self.assertSetEqual(set(ext.extract(node, content, (ns.bse.filesize, ))), + {(node, ns.bse.filesize, content.st_size)}) + # predicates parameter is respected + self.assertSetEqual(set(ext.extract(node, content, (ns.bse.filesize, ns.bse.foo))), + {(node, ns.bse.filesize, content.st_size)}) + self.assertSetEqual(set(ext.extract(node, content, (ns.bse.foo, ))), set()) + # content variations + self.assertSetEqual(set(ext.extract(node, None, (ns.bse.filesize, ))), set()) + + +## main ## + +if __name__ == '__main__': + unittest.main() + +## EOF ## |