""" Part of the bsie test suite. A copy of the license is provided with the project. Author: Matthias Baumgartner, 2022 """ # imports import argparse import contextlib import io import os import unittest # objects to test from bsie.apps.info import main ## code ## class TestIndex(unittest.TestCase): def test_predicates(self): outbuf = io.StringIO() with contextlib.redirect_stdout(outbuf): # show predicates infos main(['predicates']) # verify output self.assertSetEqual({pred for pred in outbuf.getvalue().split('\n') if pred != ''}, { 'http://bsfs.ai/schema/Entity#author', 'http://bsfs.ai/schema/Predicate', 'http://bsfs.ai/schema/Entity#filename', 'http://bsfs.ai/schema/Entity#filesize', }) def test_invalid(self): with contextlib.redirect_stderr(io.StringIO()): self.assertRaises(SystemExit, main, ['foobar']) ## main ## if __name__ == '__main__': unittest.main() ## EOF ##