예제 #1
0
    def test_lineterminator(self):
        args = ['-M', 'XYZ', 'examples/dummy.csv']
        output_file = six.StringIO()

        utility = CSVFormat(args, output_file)
        utility.main()

        output = output_file.getvalue()

        self.assertEqual(output, 'a,b,cXYZ1,2,3XYZ')
예제 #2
0
    def test_lineterminator(self):
        args = ['-M', 'XYZ', 'examples/dummy.csv']
        output_file = six.StringIO()

        utility = CSVFormat(args, output_file)
        utility.main()

        output = output_file.getvalue()

        self.assertEqual(output, 'a,b,cXYZ1,2,3XYZ')
예제 #3
0
    def test_tab_delimiter(self):
        args = ['-T', 'examples/dummy.csv']
        output_file = six.StringIO()

        utility = CSVFormat(args, output_file)
        utility.main()

        lines = output_file.getvalue().split('\n')

        self.assertEqual(lines[0], 'a\tb\tc')
        self.assertEqual(lines[1], '1\t2\t3')
예제 #4
0
    def test_tab_delimiter(self):
        args = ['-T', 'examples/dummy.csv']
        output_file = six.StringIO()

        utility = CSVFormat(args, output_file)
        utility.main()

        lines = output_file.getvalue().split('\n')

        self.assertEqual(lines[0], 'a\tb\tc')
        self.assertEqual(lines[1], '1\t2\t3')
예제 #5
0
    def test_escapechar(self):
        args = ['-P', '#', '-U', '3']
        output_file = six.StringIO()
    
        input_file = six.StringIO('a,b,c\n1"2,3,4\n')

        with stdin_as_string(input_file):
            utility = CSVFormat(args, output_file)
            utility.main()

            lines = output_file.getvalue().split('\n')

            self.assertEqual(lines[0], 'a,b,c')
            self.assertEqual(lines[1], '1#"2,3,4')
예제 #6
0
    def test_quoting(self):
        args = ['-Q', '*', '-U', '0', '-B']
        output_file = six.StringIO()

        input_file = six.StringIO('a,b,c\n1*2,3,4\n')

        with stdin_as_string(input_file):
            utility = CSVFormat(args, output_file)
            utility.main()

            lines = output_file.getvalue().split('\n')

            self.assertEqual(lines[0], 'a,b,c')
            self.assertEqual(lines[1], '*1**2*,3,4')
예제 #7
0
    def test_escapechar(self):
        args = ['-P', '#', '-U', '3']
        output_file = six.StringIO()

        input_file = six.StringIO('a,b,c\n1"2,3,4\n')

        with stdin_as_string(input_file):
            utility = CSVFormat(args, output_file)
            utility.main()

            lines = output_file.getvalue().split('\n')

            self.assertEqual(lines[0], 'a,b,c')
            self.assertEqual(lines[1], '1#"2,3,4')
예제 #8
0
    def test_quoting(self):
        args = ['-Q', '*', '-U', '0', '-B']
        output_file = six.StringIO()

        input_file = six.StringIO('a,b,c\n1*2,3,4\n')

        with stdin_as_string(input_file):
            utility = CSVFormat(args, output_file)
            utility.main()

            lines = output_file.getvalue().split('\n')

            self.assertEqual(lines[0], 'a,b,c')
            self.assertEqual(lines[1], '*1**2*,3,4')