public void Transformations_AbstractTrace_TraceWhere1() { AssertExtensions.AssertContainsOnly(trace.TraceInWhere(ruleT1, (object[] o) => object.Equals(o[0], "a")), c_a); AssertExtensions.AssertContainsOnly(trace.TraceInWhere(ruleT1, (object[] o) => object.Equals(o[0], "b")), c_b); AssertExtensions.AssertContainsOnly(trace.TraceInWhere(ruleT2, (object[] o) => object.Equals(o[0], "a") && object.Equals(o[1], "b")), c_ab); AssertExtensions.AssertContainsOnly(trace.TraceInWhere(ruleT2, (object[] o) => object.Equals(o[0], "b") && object.Equals(o[1], "c")), c_bc); AssertExtensions.AssertContainsOnly(trace.TraceInWhere(ruleTN, (object[] o) => object.Equals(o[0], "a") && object.Equals(o[1], "b") && object.Equals(o[2], "c")), c_abc); AssertExtensions.AssertContainsOnly(trace.TraceInWhere(ruleTN, (object[] o) => object.Equals(o[0], "b") && object.Equals(o[1], "c") && object.Equals(o[2], "d")), c_bcd); }