def check(compare, values, filename, diff=False, actual_path=None): (code, errs) = compare.check_string_against_file(values, refloc(filename), actual_path=actual_path, create_temporaries=False) if not diff: errs = [e for e in errs if not e.startswith(' ' + diffcmd())] errs = [e for e in errs if not e.startswith('Compare with:')] return (code, errs)
def check(compare, values, filename, diff=False, actual_path=None): (code, errs) = compare.check_string_against_file(values, refloc(filename), actual_path=actual_path) if not diff: errs = [e for e in errs if not e.startswith(' ' + diffcmd())] errs = [e for e in errs if not e.startswith('Compare with:')] return (code, errs)
def test_multiple_files_fail(self): compare = FilesComparison() r = compare.check_files([refloc('empty.txt'), refloc('single.txt'), refloc('colours.txt')], [refloc('single.txt'), refloc('colours.txt'), refloc('colours.txt')]) diff1 = '%s %s %s' % (diffcmd(), refloc('empty.txt'), refloc('single.txt')) diff2 = '%s %s %s' % (diffcmd(), refloc('single.txt'), refloc('colours.txt')) err1 = ('Files have different numbers of lines, ' 'differences start at end of actual file') err2 = ('Files have different numbers of lines, ' 'differences start at line 1') self.assertEqual(r, (2, [err1, 'Compare with:\n %s\n' % diff1, err2, 'Compare with:\n %s\n' % diff2]))
def test_files_fail(self): compare = FilesComparison() r1 = compare.check_file(refloc('empty.txt'), refloc('single.txt')) r2 = compare.check_file(refloc('single.txt'), refloc('empty.txt')) r3 = compare.check_file(refloc('single.txt'), refloc('colours.txt')) diff1 = '%s %s %s' % (diffcmd(), refloc('empty.txt'), refloc('single.txt')) diff2 = '%s %s %s' % (diffcmd(), refloc('single.txt'), refloc('empty.txt')) diff3 = '%s %s %s' % (diffcmd(), refloc('single.txt'), refloc('colours.txt')) self.assertEqual(r1, (1, ['Files have different numbers of lines', 'Compare with:\n %s\n' % diff1])) self.assertEqual(r2, (1, ['Files have different numbers of lines', 'Compare with:\n %s\n' % diff2])) self.assertEqual(r3, (1, ['Files have different numbers of lines', 'Compare with:\n %s\n' % diff3]))
def test_multiple_files_fail(self): compare = FilesComparison() r = compare.check_files( [refloc('empty.txt'), refloc('single.txt'), refloc('colours.txt')], [ refloc('single.txt'), refloc('colours.txt'), refloc('colours.txt') ]) diff1 = '%s %s %s' % (diffcmd(), refloc('empty.txt'), refloc('single.txt')) diff2 = '%s %s %s' % (diffcmd(), refloc('single.txt'), refloc('colours.txt')) self.assertEqual(r, (2, [ 'Files have different numbers of lines', 'Compare with:\n %s\n' % diff1, 'Files have different numbers of lines', 'Compare with:\n %s\n' % diff2 ]))
def test_files_fail(self): compare = FilesComparison() r1 = compare.check_file(refloc('empty.txt'), refloc('single.txt')) r2 = compare.check_file(refloc('single.txt'), refloc('empty.txt')) r3 = compare.check_file(refloc('single.txt'), refloc('colours.txt')) diff1 = '%s %s %s' % (diffcmd(), refloc('empty.txt'), refloc('single.txt')) diff2 = '%s %s %s' % (diffcmd(), refloc('single.txt'), refloc('empty.txt')) diff3 = '%s %s %s' % (diffcmd(), refloc('single.txt'), refloc('colours.txt')) err1 = ('Files have different numbers of lines, ' 'differences start at end of actual file') err2 = ('Files have different numbers of lines, ' 'differences start at end of reference file') err3 = ('Files have different numbers of lines, ' 'differences start at line 1') self.assertEqual(r1, (1, [err1, 'Compare with:\n %s\n' % diff1])) self.assertEqual(r2, (1, [err2, 'Compare with:\n %s\n' % diff2])) self.assertEqual(r3, (1, [err3, 'Compare with:\n %s\n' % diff3]))
def test_pandas_csv_fail(self): compare = PandasComparison() (code, errs) = compare.check_csv_file(refloc('single.txt'), refloc('colours.txt')) errs = [ e for e in errs if not e.startswith('Compare with:') and not e.startswith(' ' + diffcmd()) ] self.assertEqual(code, 1) self.assertEqual(errs, [ 'Column check failed.', 'Missing columns: [%s]' % ', '.join([ "'%s'" % s for s in ['Name', 'RGB', 'Hue', 'Saturation', 'Value'] ]), 'Extra columns: [\'a single line\']', 'Length check failed.', 'Found 0 records, expected 147' ])
def test_strings_against_files_fail(self): compare = FilesComparison() r1 = check(compare, ['x'], 'empty.txt') r2 = check(compare, 'x', 'empty.txt') r3 = check(compare, ['', ''], 'empty.txt') r4 = check(compare, ['the wrong text\n'], 'single.txt') r5 = check(compare, ['the wrong text\n'], 'single.txt', diff=True, actual_path='wrong.txt') errs = ['Strings have different numbers of lines, ' 'differences start at end of reference file', 'Expected file %s' % refloc('empty.txt')] self.assertEqual(r1, (1, errs)) self.assertEqual(r2, (1, errs)) self.assertEqual(r3, (1, errs)) self.assertEqual(r4, (1, ['1 line is different, starting at line 1', 'Expected file %s' % refloc('single.txt')])) diff = '%s %s %s' % (diffcmd(), 'wrong.txt', refloc('single.txt')) self.assertEqual(r5, (1, ['1 line is different, starting at line 1', 'Compare with:\n %s\n' % diff]))