invariant function

String invariant(
  1. Iterable<CaseSpec> cases, {
  2. String obj = "",
})

Implementation

String invariant(Iterable<CaseSpec> cases, {String obj = ""}) => cartprod2(
      cases,
      cases,
      tuple: (CaseSpec expected, CaseSpec other) => other == expected
          ? "${obj.isNotEmpty ? "$obj." : ""}${expected.name} != null"
          : "${obj.isNotEmpty ? "$obj." : ""}${other.name} == null",
      row: (tuples) => tuples.join("&&"),
      result: (rows) => rows.join("||"),
    );