You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Quantifier sweep: All, Any and Count over captured lists and nullable columns, and compound predicates, held by metamorphic relations #377
CapturedCollectionProbeTests sends ranges and value sets as a captured collection through Contains, Any and Count, over required columns, one predicate deep. Nothing checks a quantifier over a nullable column, All, a list holding null, or a compound predicate (P && Q, P || Q and their negations), where EF Core's three-valued compensation acts on the predicate's NULLs.
Change
A sweep, QuantifierProbeTests (integration project, a database of its own), over a nullable range, RangeSet and value set column and captured lists of each (empty, one element, holding null, duplicates, every shape). Its oracles are memory over the loaded rows, and metamorphic relations inside the database that need no memory answer:
All(P) equals !Any(x => !P(x));
Count(P) == 0 equals !Any(P);
Where(P) selects exactly the ids for which Select(P) is true;
Where(!(P && Q)) equals Where(!P || !Q), and the same for ||.
Disagreements go through Candidates.Verdict.
Done when
Registered in test/oracles/oracles.json with a seed it is shown to catch; every disagreement is an issue and a candidates.json entry.
Activity