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()); }
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()); }