def test_merge_reports(): r1 = Report() r1.add("some error message #1") r2 = Report(soft=False) r2.add("some error message #2") assert r1.merge(r2) is True assert r1.errors == ["some error message #1", "some error message #2"] assert str(r1) == "some error message #1\nsome error message #2"
def validate(self, current_data: Any) -> Report: expected = list( filtered_by_type(self.expected_data, type(current_data))) if not expected and self.expected_data: report = Report(soft=True) message = format_error_message(self, current_data) report.add("Not valid data: %s" % message) return report results = {} for exp_data in expected: report = Report(soft=True) checker = Validator(expected_data=exp_data, report=report) checker.validate(current_data) if not report.has_errors(): return report results[len(report)] = report min_error = min(list(results.keys())) return results[min_error]
def test_not_equal_report(exp_message): r = Report() r.add("some error message") assert r != exp_message
def test_equal_report(exp_message): r = Report() r.add("error") assert r == exp_message
def test_report_has_errors(): r = Report(soft=True) r.add("some error message") assert r.has_errors()
def test_add_error_to_report(): r = Report() assert r.add("test message") is True assert r.errors == ["test message"]