public void CombineFilteredOriginalAndCombine() { // Load a collection and apply a filter. OrderItemCollection coll = new OrderItemCollection(); coll.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll.es.Connection); coll.LoadAll(); Assert.AreEqual(15, coll.Count); coll.Filter = coll.AsQueryable().Where(f => f.ProductID == 1); Assert.AreEqual(4, coll.Count); // Load a second collection and apply a different filter. OrderItemCollection coll2 = new OrderItemCollection(); coll2.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll2.es.Connection); coll2.LoadAll(); Assert.AreEqual(15, coll2.Count); coll2.Filter = coll2.AsQueryable().Where(f => f.ProductID == 2); Assert.AreEqual(3, coll2.Count); // Add only the 3 filtered rows from coll2 // to all 15 rows in coll1. // The filter for coll1 still applies. // None of the items from coll2 appear, // until the filter is removed from coll1. coll.Combine(coll2); Assert.AreEqual(4, coll.Count); coll.Filter = null; Assert.AreEqual(18, coll.Count); }
public void CombineFilteredOriginal() { // Load a collection and apply a filter OrderItemCollection coll = new OrderItemCollection(); coll.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll.es.Connection); coll.LoadAll(); Assert.AreEqual(15, coll.Count); coll.Filter = coll.AsQueryable().Where(f => f.ProductID == 1); Assert.AreEqual(4, coll.Count); // Load a second collection OrderItemCollection coll2 = new OrderItemCollection(); coll2.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll2.es.Connection); coll2.LoadAll(); Assert.AreEqual(15, coll2.Count); // Combine the 15 rows from the second collection // to the 15 rows from the first collection. // Since the first collection still has a filter, // only 8 rows are counted (4 from the first and 4 from the second). coll.Combine(coll2); Assert.AreEqual(8, coll.Count); // Remove the filter to count all 30 rows. coll.Filter = null; Assert.AreEqual(30, coll.Count); }
public void CombineBuildOriginal() { // Start with an empty collection OrderItemCollection coll = new OrderItemCollection(); coll.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll.es.Connection); Assert.AreEqual(0, coll.Count); OrderItemCollection coll2 = new OrderItemCollection(); coll2.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll2.es.Connection); coll2.LoadAll(); Assert.AreEqual(15, coll2.Count); coll2.Filter = coll2.AsQueryable().Where(f => f.ProductID == 1); Assert.AreEqual(4, coll2.Count); // Add only the 4 filtered rows for coll2 coll.Combine(coll2); Assert.AreEqual(4, coll.Count); OrderItemCollection coll3 = new OrderItemCollection(); coll3.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll3.es.Connection); coll3.LoadAll(); Assert.AreEqual(15, coll3.Count); coll3.Filter = coll3.AsQueryable().Where(f => f.ProductID == 2); Assert.AreEqual(3, coll3.Count); // Add only the 3 filtered rows for coll3 // coll1 now has all 7 rows coll.Combine(coll3); Assert.AreEqual(7, coll.Count); }
public void CombineCollections() { OrderItemCollection coll = new OrderItemCollection(); coll.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll.es.Connection); coll.LoadAll(); Assert.AreEqual(15, coll.Count); OrderItemCollection coll2 = new OrderItemCollection(); coll2.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll2.es.Connection); coll2.LoadAll(); Assert.AreEqual(15, coll2.Count); coll.Combine(coll2); Assert.AreEqual(30, coll.Count); }
public void CombineFilteredCombine() { OrderItemCollection coll = new OrderItemCollection(); coll.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll.es.Connection); coll.LoadAll(); Assert.AreEqual(15, coll.Count); OrderItemCollection coll2 = new OrderItemCollection(); coll2.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll2.es.Connection); coll2.LoadAll(); Assert.AreEqual(15, coll2.Count); coll2.Filter = coll.AsQueryable().Where(f => f.ProductID == 1); Assert.AreEqual(4, coll2.Count); coll.Combine(coll2); Assert.AreEqual(19, coll.Count); }
public void CombineQueriedCollections() { OrderItemCollection coll = new OrderItemCollection(); coll.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll.es.Connection); coll.Query.Where(coll.Query.ProductID == 1); coll.Query.Load(); Assert.AreEqual(4, coll.Count); OrderItemCollection coll2 = new OrderItemCollection(); coll2.es.Connection.ConnectionString = UnitTestBase.GetFktString(coll2.es.Connection); coll2.Query.Where(coll2.Query.ProductID == 2); coll2.Query.Load(); Assert.AreEqual(3, coll2.Count); coll.Combine(coll2); Assert.AreEqual(7, coll.Count); }