def setUp(self):
     self._report_screen = ReportScreen()
class ReportScreenTestCase(OutputTestCase):
    def setUp(self):
        self._report_screen = ReportScreen()

    def test_print_dot(self):
        with self.assertOutput('\033[m.'):
            self._report_screen.print_dot()

    def test_print_failure(self):
        with self.assertOutput('\033[41m\033[37mF\033[m'):
            self._report_screen.print_failure()

    def test_print_skipped(self):
        with self.assertOutput('\033[36mS\033[m'):
            self._report_screen.print_skipped()

    def test_print_incomplete(self):
        with self.assertOutput('\033[33mI\033[m'):
            self._report_screen.print_incomplete()

    def test_print_error(self):
        with self.assertOutput('\033[31mE\033[m'):
            self._report_screen.print_error()

    def test_row(self):
        expected_output = ''
        for i in range(1, 300):
            expected_output = "%s\033[m." % expected_output
            if i % 64 == 0:
                expected_output = "%s\n" % expected_output

        with self.assertOutput(expected_output):
            for i in range(1, 300):
                self._report_screen.print_dot()

    def test_reset(self):
        expected_output = ''
        for i in range(1, 300):
            expected_output = "%s\033[m." % expected_output

        with self.assertOutput(expected_output):
            for i in range(1, 300):
                self._report_screen.print_dot()
                self._report_screen.reset()