Beispiel #1
0
        private static void CompareMaps(
            object val,
            string keyCSV,
            string[] values,
            EPAssertionUtil.AssertionCollectionValueString extractorEvents)
        {
            var keys       = string.IsNullOrWhiteSpace(keyCSV) ? new string[0] : keyCSV.SplitCsv();
            var dictionary = val.UnwrapDictionary();

            EPAssertionUtil.AssertMapOfCollection(dictionary, keys, values, extractorEvents);
        }
Beispiel #2
0
            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);
            }