def test_ignored_lines_patterns(self):
     self.assertEqual(indent_finder.analyse_line_type(''), None)
     self.assertEqual(indent_finder.analyse_line_type('  '), None)
     self.assertEqual(indent_finder.analyse_line_type('\t'), None)
     self.assertEqual(indent_finder.analyse_line_type('\t  '), None)
     self.assertEqual(indent_finder.analyse_line_type('  # coucou'), None)
     self.assertEqual(indent_finder.analyse_line_type('  /* coucou'), None)
     self.assertEqual(indent_finder.analyse_line_type('   * coucou'), None)
    def test_analyse_line_type(self):
        for n in range(1, 8):
            self.assertEqual(
                indent_finder.analyse_line_type(' ' * n + 'coucou'),
                (indent_finder.LineType.begin_space, ' ' * n))

        for n in range(8, 10):
            self.assertEqual(
                indent_finder.analyse_line_type(' ' * n + 'coucou'),
                (indent_finder.LineType.space_only, ' ' * n))

        self.assertEqual(indent_finder.analyse_line_type('\t' + 'coucou'),
                         (indent_finder.LineType.tab_only, '\t'))

        self.assertEqual(indent_finder.analyse_line_type('\t\t' + 'coucou'),
                         (indent_finder.LineType.tab_only, '\t\t'))

        for i in range(1, 8):
            self.assertEqual(
                indent_finder.analyse_line_type('\t\t' + ' ' * i + 'coucou'),
                (indent_finder.LineType.mixed, '\t\t', ' ' * i))

        self.assertEqual(
            indent_finder.analyse_line_type('coucou'),
            (indent_finder.LineType.no_indent, ''))

        self.assertEqual(
            None, indent_finder.analyse_line_type(''))
        self.assertEqual(
            None, indent_finder.analyse_line_type('\t\t' + ' ' * 8 + 'coucou'))
        self.assertEqual(
            None, indent_finder.analyse_line_type('\t\t' + ' ' * 9 + 'coucou'))
        self.assertEqual(
            None, indent_finder.analyse_line_type('\t\t \t' + 'coucou'))
        self.assertEqual(
            None, indent_finder.analyse_line_type('  \t\t' + 'coucou'))
    def test_analyse_line_type(self):
        for n in range(1, 8):
            self.assertEqual(
                indent_finder.analyse_line_type(' ' * n + 'coucou'),
                (indent_finder.LineType.BeginSpace, ' ' * n))

        for n in range(8, 10):
            self.assertEqual(
                indent_finder.analyse_line_type(' ' * n + 'coucou'),
                (indent_finder.LineType.SpaceOnly, ' ' * n))

        self.assertEqual(indent_finder.analyse_line_type('\t' + 'coucou'),
                         (indent_finder.LineType.TabOnly, '\t'))

        self.assertEqual(indent_finder.analyse_line_type('\t\t' + 'coucou'),
                         (indent_finder.LineType.TabOnly, '\t\t'))

        for i in range(1, 8):
            self.assertEqual(
                indent_finder.analyse_line_type('\t\t' + ' ' * i + 'coucou'),
                (indent_finder.LineType.Mixed, '\t\t', ' ' * i))

        self.assertEqual(
            indent_finder.analyse_line_type('coucou'),
            (indent_finder.LineType.NoIndent, ''))

        self.assertEqual(
            None, indent_finder.analyse_line_type(''))
        self.assertEqual(
            None, indent_finder.analyse_line_type('\t\t' + ' ' * 8 + 'coucou'))
        self.assertEqual(
            None, indent_finder.analyse_line_type('\t\t' + ' ' * 9 + 'coucou'))
        self.assertEqual(
            None, indent_finder.analyse_line_type('\t\t \t' + 'coucou'))
        self.assertEqual(
            None, indent_finder.analyse_line_type('  \t\t' + 'coucou'))