public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportCollection"); builder.WithExpression(fields[0], "Strvals.groupBy(c => extractAfterUnderscore(c))"); builder.WithExpression(fields[1], "Strvals.groupBy((c, i) => extractAfterUnderscore(c) || '_' || Convert.ToString(i))"); builder.WithExpression( fields[2], "Strvals.groupBy((c, i, s) => extractAfterUnderscore(c) || '_' || Convert.ToString(i) || '_' || Convert.ToString(s))"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(IDictionary <object, object>))); builder.WithAssertion(SupportCollection.MakeString("E1_2,E2_1,E3_2")) .Verify("c0", val => CompareMaps(val, "2,1", new[] { "E1_2,E3_2", "E2_1" }, GetExtractorScalar())) .Verify("c1", val => CompareMaps(val, "2_0,1_1,2_2", new[] { "E1_2", "E2_1", "E3_2" }, GetExtractorScalar())) .Verify("c2", val => CompareMaps(val, "2_0_3,1_1_3,2_2_3", new[] { "E1_2", "E2_1", "E3_2" }, GetExtractorScalar())); SupportEvalAssertionBuilder assertionNull = builder.WithAssertion(SupportCollection.MakeString(null)); foreach (string field in fields) { assertionNull.Verify(field, Assert.IsNull); } SupportEvalAssertionBuilder assertionEmpty = builder.WithAssertion(SupportCollection.MakeString("")); foreach (string field in fields) { assertionEmpty.Verify(field, val => CompareMaps(val, "", new string[0], GetExtractorScalar())); } builder.Run(env); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2,c3,c4,c5".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.take(2)"); builder.WithExpression(fields[1], "Contained.take(1)"); builder.WithExpression(fields[2], "Contained.take(0)"); builder.WithExpression(fields[3], "Contained.take(-1)"); builder.WithExpression(fields[4], "Contained.takeLast(2)"); builder.WithExpression(fields[5], "Contained.takeLast(1)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(ICollection <object>))); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2", "E3,3")) .Verify("c0", val => AssertST0Id(val, "E1,E2")) .Verify("c1", val => AssertST0Id(val, "E1")) .Verify("c2", val => AssertST0Id(val, "")) .Verify("c3", val => AssertST0Id(val, "")) .Verify("c4", val => AssertST0Id(val, "E2,E3")) .Verify("c5", val => AssertST0Id(val, "E3")); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2")) .Verify("c0", val => AssertST0Id(val, "E1,E2")) .Verify("c1", val => AssertST0Id(val, "E1")) .Verify("c2", val => AssertST0Id(val, "")) .Verify("c3", val => AssertST0Id(val, "")) .Verify("c4", val => AssertST0Id(val, "E1,E2")) .Verify("c5", val => AssertST0Id(val, "E2")); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1")) .Verify("c0", val => AssertST0Id(val, "E1")) .Verify("c1", val => AssertST0Id(val, "E1")) .Verify("c2", val => AssertST0Id(val, "")) .Verify("c3", val => AssertST0Id(val, "")) .Verify("c4", val => AssertST0Id(val, "E1")) .Verify("c5", val => AssertST0Id(val, "E1")); SupportEvalAssertionBuilder assertionEmpty = builder.WithAssertion(SupportBean_ST0_Container.Make2Value()); foreach (string field in fields) { assertionEmpty.Verify(field, val => AssertST0Id(val, "")); } SupportEvalAssertionBuilder assertionNull = builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()); foreach (string field in fields) { assertionNull.Verify(field, val => AssertST0Id(val, null)); } builder.Run(env); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.groupBy(k => Id, v => P00)"); builder.WithExpression(fields[1], "Contained.groupBy((k, i) => Id || '_' || Convert.ToString(i), (v, i) => P00 + i*10)"); builder.WithExpression( fields[2], "Contained.groupBy((k, i, s) => Id || '_' || Convert.ToString(i) || '_' || Convert.ToString(s), (v, i, s) => P00 + i*10 + s*100)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(IDictionary <object, object>))); EPAssertionUtil.AssertionCollectionValueString extractor = collectionItem => { int p00 = collectionItem.AsInt32(); return(Convert.ToString(p00)); }; builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E1,2", "E2,5")) .Verify("c0", val => CompareMaps(val, "E1,E2", new[] { "1,2", "5" }, extractor)) .Verify("c1", val => CompareMaps(val, "E1_0,E1_1,E2_2", new[] { "1", "12", "25" }, extractor)) .Verify("c2", val => CompareMaps(val, "E1_0_3,E1_1_3,E2_2_3", new[] { "301", "312", "325" }, extractor)); SupportEvalAssertionBuilder assertionNull = builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()); foreach (string field in fields) { assertionNull.Verify(field, Assert.IsNull); } SupportEvalAssertionBuilder assertionEmpty = builder.WithAssertion(SupportBean_ST0_Container.Make2Value()); foreach (string field in fields) { assertionEmpty.Verify(field, val => CompareMaps(val, "", new string[0], GetExtractorScalar())); } builder.Run(env); }