public void TestUpdateCustomerWithUpdateCheckThatDoesNotSucceed() { this.TestInsertCustomerNoResult(); // create customer "XX1" var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Portland", // moved to Portland! Country = "USA" }; var result = db.Customers.Update(cust, d => d.City == "Detroit"); Assert.AreEqual(0, result); // 0 for failure }
public void TestUpsertExistingCustomerWithUpdateCheck() { this.TestInsertCustomerNoResult(); var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Portland", // moved to Portland! Country = "USA" }; var result = db.Customers.InsertOrUpdate(cust, d => d.City == "Seattle"); Assert.AreEqual(1, result); }
public void TestSessionSubmitActionOnUpdate() { var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", Country = "USA" }; this.db.Customers.Insert(cust); NorthwindSession ns = new NorthwindSession(this.provider); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); ns.Customers.UpdateOnSubmit(cust); Assert.AreEqual(SubmitAction.Update, ns.Customers.GetSubmitAction(cust)); ns.SubmitChanges(); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); cust.City = "SeattleX"; Assert.AreEqual(SubmitAction.Update, ns.Customers.GetSubmitAction(cust)); }
public void TestUpdateCustomerWithResult() { this.TestInsertCustomerNoResult(); // create customer "XX1" var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Portland", // moved to Portland! Country = "USA" }; var result = db.Customers.Update(cust, null, c => c.City); Assert.AreEqual("Portland", result); }
public void TestSessionSubmitActionOnDelete() { var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", Country = "USA" }; this.db.Customers.Insert(cust); NorthwindSession ns = new NorthwindSession(this.provider); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); ns.Customers.DeleteOnSubmit(cust); var custHash1 = cust.GetHashCode(); var custHash2 = cust.GetHashCode(); var custSessTable1 = ns.Customers.GetHashCode(); var custSessTable2 = ns.Customers.GetHashCode(); var custSessionTable = ns.Customers; custSessionTable.DeleteOnSubmit(cust); Assert.AreEqual(SubmitAction.Delete, ns.Customers.GetSubmitAction(cust)); Assert.AreEqual(SubmitAction.Delete, custSessionTable.GetSubmitAction(cust));//ns.Customers.GetSubmitAction(cust)); ns.SubmitChanges(); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); // modifications after delete don't trigger updates cust.City = "SeattleX"; Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); }
public void TestSessionSubmitActionOnModify() { var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", Country = "USA" }; db.Customers.Insert(cust); var ns = new NorthwindSession(provider); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); // fetch the previously inserted customer cust = ns.Customers.Single(c => c.CustomerID == "XX1"); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); cust.ContactName = "Contact Modified"; Assert.AreEqual(SubmitAction.Update, ns.Customers.GetSubmitAction(cust)); ns.SubmitChanges(); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); // prove actually modified by fetching through provider var cust2 = this.db.Customers.Single(c => c.CustomerID == "XX1"); Assert.AreEqual("Contact Modified", cust2.ContactName); // ready to be submitted again! cust.City = "SeattleX"; Assert.AreEqual(SubmitAction.Update, ns.Customers.GetSubmitAction(cust)); }
public void TestInsertCustomerWithResult() { var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", Country = "USA" }; var result = db.Customers.Insert(cust, c => c.City); Assert.AreEqual<string>(result, "Seattle"); // should be value we asked for }
public void TestInsertThenDeleteSamePK() { var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", Country = "USA" }; var cust2 = new Customer { CustomerID = "XX1", CompanyName = "Company2", ContactName = "Contact2", City = "Chicago", Country = "USA" }; this.db.Customers.Insert(cust); NorthwindSession ns = new NorthwindSession(this.provider); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust2)); ns.Customers.InsertOnSubmit(cust2); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); Assert.AreEqual(SubmitAction.Insert, ns.Customers.GetSubmitAction(cust2)); ns.Customers.DeleteOnSubmit(cust); Assert.AreEqual(SubmitAction.Delete, ns.Customers.GetSubmitAction(cust)); Assert.AreEqual(SubmitAction.Insert, ns.Customers.GetSubmitAction(cust2)); ns.SubmitChanges(); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust2)); // modifications after delete don't trigger updates cust.City = "SeattleX"; Assert.AreEqual(SubmitAction.None, ns.Customers.GetSubmitAction(cust)); // modifications after insert do trigger updates cust2.City = "ChicagoX"; Assert.AreEqual(SubmitAction.Update, ns.Customers.GetSubmitAction(cust2)); }
public void TestInsertCustomerNoResult() { var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", Country = "USA" }; var result = db.Customers.Insert(cust); Assert.AreEqual<int>(1, result); }
public void TestInsertCustomersIncludeOrders() { var policy = new EntityPolicy(); policy.IncludeWith<Customer>(c => c.Orders); policy.IncludeWith<Order>(o => o.Details); Northwind nw = new Northwind(this.provider.New(policy)); var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", Country = "USA" }; var order = new Order { CustomerID = "XX1", OrderDate = DateTime.Today, }; cust.Orders = new List<Order> { order }; var custs = nw.Customers.Insert(cust); var result = nw.Orders.Insert(order); cust = nw.Customers.GetById(cust.CustomerID); Assert.AreEqual(1, custs); //TODO: Complete Assert //Assert.IsNotNull(custs[0].Orders); //Assert.AreEqual(6, custs[0].Orders.Count); //Assert.IsTrue(custs[0].Orders.Any(o => o.OrderID == 10643)); //Assert.IsNotNull(custs[0].Orders.Single(o => o.OrderID == 10643).Details); //Assert.AreEqual(3, custs[0].Orders.Single(o => o.OrderID == 10643).Details.Count); }
public void TestDeleteCustomerWithDeleteCheckThatSucceeds() { this.TestInsertCustomerNoResult(); var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", Country = "USA" }; var result = db.Customers.Delete(cust, d => d.City == "Seattle"); Assert.AreEqual(1, result); }
public void TestDeleteCustomerForNonExistingCustomer() { this.TestInsertCustomerNoResult(); var cust = new Customer { CustomerID = "XX2", CompanyName = "Company2", ContactName = "Contact2", City = "Seattle", Country = "USA" }; var result = db.Customers.Delete(cust); Assert.AreEqual(0, result); }
public void TestUpsertNewCustomerWithResult() { var cust = new Customer { CustomerID = "XX1", CompanyName = "Company1", ContactName = "Contact1", City = "Seattle", // moved to Portland! Country = "USA" }; var result = db.Customers.InsertOrUpdate(cust, null, d => d.City); Assert.AreEqual("Seattle", result); }
public void TestCompareEntityNotEqual() { Customer alfki = new Customer { CustomerID = "ALFKI" }; var list = db.Customers.Where(c => c != alfki).ToList(); Assert.AreEqual(90, list.Count); }
public void TestCompareEntityEqual() { Customer alfki = new Customer { CustomerID = "ALFKI" }; var list = db.Customers.Where(c => c == alfki).ToList(); Assert.AreEqual(1, list.Count); Assert.AreEqual("ALFKI", list[0].CustomerID); }