public static IList<FilterTestMultiStmtExecution> Executions(bool withStats) { IList<FilterTestMultiStmtPermutable> cases = new List<FilterTestMultiStmtPermutable>(); var stats = FilterTestMultiStmtAssertStats.MakeSingleStat("P0=(fh:1,fi:1),P1=(fh:0,fi:0,fipar:0)"); // simple equals AddCase( cases, stats, "IntPrimitive = 0", MakeItem(MakeBean("E1", 0), true), MakeItem(MakeBean("E2", 1), false)); // simple "not-equals" AddCase(cases, stats, "TheString != 'A'", MakeItem(MakeBean("B"), true), MakeItem(MakeBean("A"), false)); // simple greater AddCase( cases, stats, "IntPrimitive >= 0", MakeItem(MakeBean("E1", 0), true), MakeItem(MakeBean("E1", 1), true), MakeItem(MakeBean("E2", -1), false)); // simple "is" AddCase(cases, stats, "TheString is null", MakeItem(MakeBean(null), true), MakeItem(MakeBean("A"), false)); // simple "is-not" AddCase( cases, stats, "TheString is not null", MakeItem(MakeBean(null), false), MakeItem(MakeBean("A"), true)); // simple boolean expression AddCase(cases, stats, "TheString like 'A%'", MakeItem(MakeBean("A"), true), MakeItem(MakeBean("B"), false)); AddCase( cases, stats, "getLocalValue(TheString) = 'A'", MakeItem(MakeBean("A"), true), MakeItem(MakeBean("B"), false)); // nullable-endpoint range handled as boolean AddCase( cases, stats, "TheString between null and 'Z'", MakeItem(MakeBean("A"), false), MakeItem(MakeBean("B"), false)); return FilterTestMultiStmtRunner.ComputePermutations( typeof(ExprFilterPlanOneFilterNonNested), new PermutationSpec(true), cases, withStats); }
public static IList<FilterTestMultiStmtExecution> Executions(bool withStats) { IList<FilterTestMultiStmtPermutable> cases = new List<FilterTestMultiStmtPermutable>(); var stats = FilterTestMultiStmtAssertStats.MakeSingleStat("P0=(fh:1, fi:4),P1=(fh:0, fi:0, fipar:0)"); // simple four-param equals FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive=1, LongPrimitive=10, DoublePrimitive=100, BoolPrimitive=true", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 10, 100, true), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 10, 100, false), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 0, 10, 100, true), false)); // add boolean-expr FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive=1, LongPrimitive=10, DoublePrimitive=100, TheString like 'A%'", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 10, 100), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("B", 1, 10, 100), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 10, 0), false)); return FilterTestMultiStmtRunner.ComputePermutations( typeof(ExprFilterPlanOneFilterNestedFourLvl), new PermutationSpec(true), cases, withStats); }
public static IList<FilterTestMultiStmtExecution> Executions(bool withStats) { IList<FilterTestMultiStmtPermutable> cases = new List<FilterTestMultiStmtPermutable>(); var stats = FilterTestMultiStmtAssertStats.MakeSingleStat("P0=(fh:1,fi:2),P1=(fh:0,fi:0,fipar:0)"); AddCase( cases, stats, "IntPrimitive = 0 or LongPrimitive = 0", MakeItem(MakeBean("E1", 0, 1), true), MakeItem(MakeBean("E2", 1, 0), true), MakeItem(MakeBean("E3", 1, 1), false)); return FilterTestMultiStmtRunner.ComputePermutations( typeof(ExprFilterPlanOneFilterTwoPathNonNested), new PermutationSpec(true), cases, withStats); }
public static IList<FilterTestMultiStmtExecution> Executions(bool withStats) { IList<FilterTestMultiStmtPermutable> cases = new List<FilterTestMultiStmtPermutable>(); var stats = FilterTestMultiStmtAssertStats.MakeSingleStat("P0=(fh:1,fi:3),P1=(fh:0,fi:0,fipar:0)"); FilterTestMultiStmtPermutable.AddCase( cases, stats, "TheString = 'A' and (IntPrimitive = 0 or LongPrimitive = 0)", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 0, 1), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 0), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 1), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("B", 0, 0), false)); return FilterTestMultiStmtRunner.ComputePermutations( typeof(ExprFilterPlanOneFilterTwoPathNested), new PermutationSpec(true), cases, withStats); }
public static IList<FilterTestMultiStmtExecution> Executions(bool withStats) { IList<FilterTestMultiStmtPermutable> cases = new List<FilterTestMultiStmtPermutable>(); var stats = FilterTestMultiStmtAssertStats.MakeSingleStat("P0=(fh:1, fi:2),P1=(fh:0, fi:0, fipar:0)"); // simple two-param equals and not-equals FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive=1, LongPrimitive=10", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 10), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 0), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 0, 10), false)); FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive != 0, LongPrimitive != 1", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E1", 0, 1), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E2", -1, -1), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E3", 0, -1), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E4", -1, 1), false)); // simple two-param greater FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive>1, LongPrimitive>10", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1, 10), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 2, 11), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 2, 10), false)); // two-param range FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive between 0 and 2, LongPrimitive between 0 and 2", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E1", 0, 1), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E2", 0, 2), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E3", 2, 0), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E10", 5, 1), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E11", 1, 5), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E12", -1, -1), false)); // two-param 'in' FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive in (0,1), LongPrimitive in (2, 3)", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E1", 0, 2), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E2", 1, 3), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E3", 0, 3), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E10", 2, 2), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E11", 1, 4), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E12", -1, -1), false)); // two-param 'not-in' FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive not in (0,1), LongPrimitive not in (2, 3)", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E1", 2, 0), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E2", -1, -1), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E3", 3, 1), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E10", 0, 2), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E11", 1, 4), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("E12", -1, 2), false)); // equals with boolean FilterTestMultiStmtPermutable.AddCase( cases, stats, "IntPrimitive=1 and TheString like 'A%B'", FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A B", 1), true), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A", 1), false), FilterTestMultiStmtAssertItem.MakeItem(SupportBean.MakeBean("A B", 0), false)); return FilterTestMultiStmtRunner.ComputePermutations( typeof(ExprFilterPlanOneFilterNestedTwoLvl), new PermutationSpec(true), cases, withStats); }