Esempio n. 1
0
    def test_unittest_main(self) -> None:
        """
        Tests whether `unittest_main` is called when `__name__ == '__main__'`
        """
        self.assertEqual(type(unittest_main).__name__, "function")
        self.assertIsNone(unittest_main())
        argparse_mock = MagicMock()
        with patch(
                "doctrans.tests.utils_for_tests.__name__", "__main__"), patch(
                    "sys.stderr",
                    new_callable=StringIO), self.assertRaises(SystemExit) as e:
            import doctrans.tests.utils_for_tests

            doctrans.tests.utils_for_tests.unittest_main()

        self.assertIsInstance(e.exception.code, bool)
        self.assertIsNone(argparse_mock.call_args)
        self.assertIsNone(doctrans.tests.utils_for_tests.unittest_main())
"""
Tests for AST equality
"""

from unittest import TestCase

from doctrans.tests.mocks.argparse import argparse_func_ast, argparse_func_str
from doctrans.tests.mocks.classes import class_ast, class_str
from doctrans.tests.utils_for_tests import run_ast_test, unittest_main


class TestAstEquality(TestCase):
    """
    Tests whether the AST generated matches the mocked one expected
    """

    def test_argparse_func(self) -> None:
        """ Tests whether the `argparse_func_str` correctly produces `argparse_func_ast` """
        run_ast_test(self, argparse_func_str, argparse_func_ast)

    def test_class(self) -> None:
        """ Tests whether the `class_str` correctly produces `class_ast` """
        run_ast_test(self, class_str, class_ast)


unittest_main()