assertSolutionEquals
Utility method to assert that two Solutions are equals, with some exceptions.
In case of a Solution.halt, the contained exception is checked only to be of the correct expected class
In case a substitution points to a variable or a term containing variables (i.e.
X/YorX/a(Y)), these variables are compared only by name, because instances will differ
inline fun assertSolutionEquals(expected: Iterable<Solution>, actual: Iterable<Solution>, equalityAssertion: (Solution, Solution) -> Unit = ::assertSolutionEquals)
Utility method to assert that two solution iterables are equal by means of given equalityAssertion, called for each expected-actual solution pair
Parameters
equalityAssertion
the equality assertion is delegated to assertSolutionEquals by default