public void ResultsProperty_WhenProviderHasCompletedRefreshing_HasCorrectGroupsAndItemsData() { List <Order> orders = new List <Order>(); orders.Add(new Order() { Product = "Mouse pad", Quantity = 10, Net = 40 }); orders.Add(new Order() { Product = "Mouse pad", Quantity = 5, Net = 20 }); orders.Add(new Order() { Product = "Copy holder", Quantity = 10, Net = 50 }); orders.Add(new Order() { Product = "Copy holder", Quantity = 5, Net = 25 }); orders.Add(new Order() { Product = "Copy holder", Quantity = 2, Net = 10 }); using (this.provider.DeferRefresh()) { this.provider.ItemsSource = orders; this.provider.GroupDescriptions.Add(new PropertyGroupDescription() { PropertyName = "Product" }); } this.provider.BlockUntilRefreshCompletes(); var results = ((IDataProvider)this.provider).Results; var group1 = new Group("Copy holder"); group1.SetItems(orders.OfType <object>().Skip(2).ToList()); var group2 = new Group("Mouse pad"); group2.SetItems(orders.OfType <object>().Take(2).ToList()); List <Group> items = new List <Group>() { group1, group2 }; Group expectedRowGroup = new Group("Grand Total"); expectedRowGroup.SetGroups(items); bool equal = GroupTestsHelper.AreGroupsAndItemsEqual(expectedRowGroup, results.Root.RowGroup); Assert.IsTrue(equal); }
public void ResultsProperty_WhenProviderHasCompletedRefreshing_HasCorrectColumnGroupsData() { this.ConfigureProviderToProduceResults(); IGroup expectedColumnGroup = new TestGroup("Grand Total") { new TestGroup("1 Free with 10"), new TestGroup("Extra Discount"), }; this.provider.Refresh(); this.provider.BlockUntilRefreshCompletes(); var results = ((IDataProvider)this.provider).Results; bool equal = GroupTestsHelper.AreGroupsEqual(expectedColumnGroup, results.Root.ColumnGroup); Assert.IsTrue(equal); }
public void ResultsProperty_WhenProviderHasCompletedRefreshing_HasCorrectRowGroupsData() { this.ConfigureProviderToProduceResults(); IGroup expectedRowGroup = new TestGroup("Grand Total") { new TestGroup("Copy holder"), new TestGroup("Glare filter"), new TestGroup("Mouse pad"), new TestGroup("Printer stand"), }; this.provider.Refresh(); this.provider.BlockUntilRefreshCompletes(); var results = ((IDataProvider)this.provider).Results; bool equal = GroupTestsHelper.AreGroupsEqual(expectedRowGroup, results.Root.RowGroup); Assert.IsTrue(equal); }
public void ResultsProperty_WhenProviderHasCompletedRefreshing_HasCorrectAggregatesData() { this.ConfigureProviderToProduceResults(); var expectedAggregates = new double?[][] { new double?[] { 7851.0, 3949.0, 3902.0 }, new double?[] { 1439.0, 792.0, 647.0 }, new double?[] { 1708.0, 814.0, 894.0 }, new double?[] { 3360.0, 1705.0, 1655.0 }, new double?[] { 1344.0, 638.0, 706.0 } }; this.provider.Refresh(); this.provider.BlockUntilRefreshCompletes(); var results = ((IDataProvider)this.provider).Results; bool equal = GroupTestsHelper.AreAggregatesEqual(expectedAggregates, results); Assert.IsTrue(equal); }