def METHOD_NAME(
    cls: "NetworkDriver",
    validation_file: Optional[str] = None,
    validation_source: Optional[str] = None,
) -> models.ReportResult:
    report: models.ReportResult = {}  # type: ignore
    if validation_file:
        validation_source = _get_validation_file(validation_file)  # type: ignore
    # Otherwise we are going to modify a "live" object
    validation_source = copy.deepcopy(validation_source)
    assert isinstance(validation_source, list), validation_source
    for validation_check in validation_source:
        for getter, expected_results in validation_check.items():
            if getter == "get_config":
                # TBD
                pass
            else:
                key = expected_results.pop("_name", "") or getter
                try:
                    kwargs = expected_results.pop("_kwargs", {})
                    actual_results = getattr(cls, getter)(**kwargs)
                    report[key] = compare(expected_results, actual_results)
                except NotImplementedError:
                    report[key] = {"skipped": True, "reason": "NotImplemented"}
    complies = all([e.get("complies", True) for e in report.values()])
    report["skipped"] = [k for k, v in report.items() if v.get("skipped", False)]
    report["complies"] = complies
    return report