PHP 7.4.33
Preview: test_functiontestcase.py Size: 5.42 KB
//lib64/python2.7/unittest/test/test_functiontestcase.py

import unittest

from unittest.test.support import LoggingResult


class Test_FunctionTestCase(unittest.TestCase):

    # "Return the number of tests represented by the this test object. For
    # TestCase instances, this will always be 1"
    def test_countTestCases(self):
        test = unittest.FunctionTestCase(lambda: None)

        self.assertEqual(test.countTestCases(), 1)

    # "When a setUp() method is defined, the test runner will run that method
    # prior to each test. Likewise, if a tearDown() method is defined, the
    # test runner will invoke that method after each test. In the example,
    # setUp() was used to create a fresh sequence for each test."
    #
    # Make sure the proper call order is maintained, even if setUp() raises
    # an exception.
    def test_run_call_order__error_in_setUp(self):
        events = []
        result = LoggingResult(events)

        def setUp():
            events.append('setUp')
            raise RuntimeError('raised by setUp')

        def test():
            events.append('test')

        def tearDown():
            events.append('tearDown')

        expected = ['startTest', 'setUp', 'addError', 'stopTest']
        unittest.FunctionTestCase(test, setUp, tearDown).run(result)
        self.assertEqual(events, expected)

    # "When a setUp() method is defined, the test runner will run that method
    # prior to each test. Likewise, if a tearDown() method is defined, the
    # test runner will invoke that method after each test. In the example,
    # setUp() was used to create a fresh sequence for each test."
    #
    # Make sure the proper call order is maintained, even if the test raises
    # an error (as opposed to a failure).
    def test_run_call_order__error_in_test(self):
        events = []
        result = LoggingResult(events)

        def setUp():
            events.append('setUp')

        def test():
            events.append('test')
            raise RuntimeError('raised by test')

        def tearDown():
            events.append('tearDown')

        expected = ['startTest', 'setUp', 'test', 'addError', 'tearDown',
                    'stopTest']
        unittest.FunctionTestCase(test, setUp, tearDown).run(result)
        self.assertEqual(events, expected)

    # "When a setUp() method is defined, the test runner will run that method
    # prior to each test. Likewise, if a tearDown() method is defined, the
    # test runner will invoke that method after each test. In the example,
    # setUp() was used to create a fresh sequence for each test."
    #
    # Make sure the proper call order is maintained, even if the test signals
    # a failure (as opposed to an error).
    def test_run_call_order__failure_in_test(self):
        events = []
        result = LoggingResult(events)

        def setUp():
            events.append('setUp')

        def test():
            events.append('test')
            self.fail('raised by test')

        def tearDown():
            events.append('tearDown')

        expected = ['startTest', 'setUp', 'test', 'addFailure', 'tearDown',
                    'stopTest']
        unittest.FunctionTestCase(test, setUp, tearDown).run(result)
        self.assertEqual(events, expected)

    # "When a setUp() method is defined, the test runner will run that method
    # prior to each test. Likewise, if a tearDown() method is defined, the
    # test runner will invoke that method after each test. In the example,
    # setUp() was used to create a fresh sequence for each test."
    #
    # Make sure the proper call order is maintained, even if tearDown() raises
    # an exception.
    def test_run_call_order__error_in_tearDown(self):
        events = []
        result = LoggingResult(events)

        def setUp():
            events.append('setUp')

        def test():
            events.append('test')

        def tearDown():
            events.append('tearDown')
            raise RuntimeError('raised by tearDown')

        expected = ['startTest', 'setUp', 'test', 'tearDown', 'addError',
                    'stopTest']
        unittest.FunctionTestCase(test, setUp, tearDown).run(result)
        self.assertEqual(events, expected)

    # "Return a string identifying the specific test case."
    #
    # Because of the vague nature of the docs, I'm not going to lock this
    # test down too much. Really all that can be asserted is that the id()
    # will be a string (either 8-byte or unicode -- again, because the docs
    # just say "string")
    def test_id(self):
        test = unittest.FunctionTestCase(lambda: None)

        self.assertIsInstance(test.id(), basestring)

    # "Returns a one-line description of the test, or None if no description
    # has been provided. The default implementation of this method returns
    # the first line of the test method's docstring, if available, or None."
    def test_shortDescription__no_docstring(self):
        test = unittest.FunctionTestCase(lambda: None)

        self.assertEqual(test.shortDescription(), None)

    # "Returns a one-line description of the test, or None if no description
    # has been provided. The default implementation of this method returns
    # the first line of the test method's docstring, if available, or None."
    def test_shortDescription__singleline_docstring(self):
        desc = "this tests foo"
        test = unittest.FunctionTestCase(lambda: None, description=desc)

        self.assertEqual(test.shortDescription(), "this tests foo")


if __name__ == '__main__':
    unittest.main()

Directory Contents

Dirs: 0 × Files: 45

Name Size Perms Modified Actions
50 B lrw-r--r-- 2024-04-10 04:58:35
Edit Download
130 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
130 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.39 KB lrw-r--r-- 2024-04-10 04:58:35
Edit Download
5.86 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.86 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
11.68 KB lrw-r--r-- 2024-04-10 04:58:35
Edit Download
13.12 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
13.12 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
9.42 KB lrw-r--r-- 2024-04-10 04:58:35
Edit Download
9.91 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
9.91 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
44.65 KB lrw-r--r-- 2024-04-10 04:58:35
Edit Download
45.92 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
45.92 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
13.98 KB lrw-r--r-- 2024-04-10 04:58:35
Edit Download
17.25 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
17.25 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.42 KB lrw-r--r-- 2024-04-10 04:58:36
Edit Download
5.94 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.94 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
48.70 KB lrw-r--r-- 2024-04-10 04:58:36
Edit Download
48.65 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
48.65 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
7.40 KB lrw-r--r-- 2024-04-10 04:58:36
Edit Download
10.23 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
10.17 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
18.61 KB lrw-r--r-- 2024-04-10 04:58:36
Edit Download
20.90 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
20.90 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
8.41 KB lrw-r--r-- 2024-04-10 04:58:36
Edit Download
13.79 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
13.79 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
16.07 KB lrw-r--r-- 2024-04-10 04:58:36
Edit Download
28.49 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
28.49 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.61 KB lrw-r--r-- 2024-04-10 04:58:36
Edit Download
9.38 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
9.38 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
11.80 KB lrw-r--r-- 2024-04-10 04:58:36
Edit Download
15.14 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
15.14 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
514 B lrw-r--r-- 2024-04-10 04:58:35
Edit Download
906 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
906 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).