public void Splitter()
        {
            var splitter = new PageConditionSplitter((scope, page) => page.VisitPageIndex == 2);

            var table = TestSets.Countries(1000, 37).Process(
                () => new SimpleTableMapper(new TableDefinition("Test")
                    .Key("VisitId", s => s.Current<IVisitAggregationContext>().Visit.InteractionId)
                    .Map(new SplittingFieldMapper(splitter, (name) =>
                    new[]{
                        new SimpleFieldMapper("Value" + name,
                            s =>
                                s.Current<IVisitAggregationContext>()
                                    .Visit.Value, typeof(int), FieldType.Fact)
                    })))).FirstOrDefault();

            Assert.AreEqual(1000, table.Rows.Count());
            Assert.AreEqual(5000, table.Fields<int>("ValueBefore").Sum());
            Assert.AreEqual(9000, table.Fields<int>("ValueAfter").Sum());
            Assert.AreEqual(14000, table.Fields<int>("ValueTotal").Sum());
        }
Exemple #2
0
        public void Splitter()
        {
            var splitter = new PageConditionSplitter((scope, page) => page.VisitPageIndex == 2);

            var table = TestSets.Countries(1000, 37).Process(
                () => new SimpleTableMapper(new TableDefinition("Test")
                                            .Key("VisitId", s => s.Current <IVisitAggregationContext>().Visit.InteractionId)
                                            .Map(new SplittingFieldMapper(splitter, (name) =>
                                                                          new[] {
                new SimpleFieldMapper("Value" + name,
                                      s =>
                                      s.Current <IVisitAggregationContext>()
                                      .Visit.Value, typeof(int), FieldType.Fact)
            })))).FirstOrDefault();

            Assert.AreEqual(1000, table.Rows.Count());
            Assert.AreEqual(5000, table.Fields <int>("ValueBefore").Sum());
            Assert.AreEqual(9000, table.Fields <int>("ValueAfter").Sum());
            Assert.AreEqual(14000, table.Fields <int>("ValueTotal").Sum());
        }