Пример #1
0
class TestTestSelectionController(unittest.TestCase):

    def setUp(self):
        self._tsc = TestSelectionController()

    def test_test_selection_is_empty_by_default(self):
        self.assertTrue(self._tsc.is_empty())

    def test_test_selection_is_not_empty_when_it_contains_a_test(self):
        self._tsc.select(self._create_test())
        self.assertFalse(self._tsc.is_empty())

    def test_adding_tag_to_selected_tests(self):
        tests = [self._create_test() for _ in range(10)]
        for t in tests:
            self._tsc.select(t)
        self._tsc.add_tag('foo')
        for t in tests:
            self.assertEqual([tag.name for tag in t.tags], ['foo'])

    def test_adding_a_tag_to_test_with_a_default_tag(self):
        test = self._create_test()
        test.datafile_controller.default_tags.execute(ChangeTag(Tag(None), 'default'))
        assert_equals([t.name for t in test.tags], ['default'])
        self._tsc.select(test)
        self._tsc.add_tag('custom')
        self.assertEqual([t.name for t in test.tags], ['default', 'custom'])

    def _create_test(self):
        suite = TestCaseFile(source='suite')
        suite_controller = TestCaseFileController(suite)
        parent = TestCaseTableController(suite_controller, suite.testcase_table)
        test = TestCase(parent=lambda:0, name='test')
        return TestCaseController(parent, test)