public void TestSupplyTheSame() { const int n = 100; Warehouse warehouse = new Warehouse(); // Cоздаю тестовые порции, т.к. поставка порция + дата. List <Portion> testPortions = new List <Portion>(); for (int i = 0; i < n; i++) { // Cоздаю продукт, который является частью класса порция. Product new_product = new Product() { Id = 12345678, Name = $"Product 34", Price = 228, Unit = "kg", DateTime = DateTime.Now, }; // После этого создаю саму порцию. testPortions.Add(new Portion() { Product = new_product, Amount = 5 }); } warehouse.AcountingSupply(new PurchaseInvoice(testPortions)); Assert.AreEqual("Product 34", warehouse.Products[0].Name); Assert.AreEqual(500, warehouse.Products[0].Amount); }
// Действие при нажатии на кнопку confirmButton. private void confirmButton_Click(object sender, EventArgs e) { try { if (tempProducts.Count == 0) { throw new SupplyException("No products in supply"); } List <Portion> tempPortions = new List <Portion>(); foreach (Product product in tempProducts) { product.DateTime = DateTime.Now; tempPortions.Add(new Portion() { Product = product, Amount = product.Amount, }); } warehouse.AcountingSupply(new PurchaseInvoice(tempPortions)); productBindingSource.ResetBindings(false); this.Close(); } catch (SupplyException ex) { MessageBox.Show(ex.Message, "Exception"); } }
public void TestAdd() { // Продукция. const int n = 100; Warehouse warehouse = new Warehouse(); // Cоздаю тестовые порции, т.к. поставка порция + дата. List <Portion> testPortions = new List <Portion>(); for (int i = 0; i < n; i++) { // Cоздаю продукт, который является частью класса порция. Product newProduct = new Product() { Id = i, Name = $"Product{i}", Price = i * 10, Unit = "kg", DateTime = DateTime.Now }; // После этого создаю саму порцию. testPortions.Add(new Portion() { Product = newProduct, Amount = (i + 3) * 2 }); } warehouse.AcountingSupply(new PurchaseInvoice(testPortions)); // Создаем пользователя. Заходим в аккаунт. warehouse.RegistrationCustomer(new Customer() { Login = $"Customer", Password = "******", Adress = "saltovskaya 33" }); warehouse.AuthenticationCustomer(new Customer() { Login = "******", Password = "******" }); Assert.AreEqual("Customer", ((Customer)warehouse.UserNow).Login); // Само тестирование. for (int i = 0; i < 4; ++i) { warehouse.AddBasket(warehouse.Products[i], (i * 1.1)); } Assert.AreEqual(warehouse.Products[1], ((Customer)warehouse.UserNow).Basket[1].Product); Assert.AreEqual((3 * 1.1), ((Customer)warehouse.UserNow).Basket[3].Amount); }
public void TestSupplyLoadSave() { const int n = 100; Warehouse warehouse = new Warehouse(); // Cоздаю тестовые порции, т.к. поставка порция + дата. List <Portion> testPortions = new List <Portion>(); for (int i = 0; i < n; i++) { // Cоздаю продукт, который является частью класса порция. Product newProduct = new Product() { Id = i, Name = $"Product{i}", Price = i * 10, Unit = "kg", DateTime = DateTime.Now }; // После этого создаю саму порцию. testPortions.Add(new Portion() { Product = newProduct, Amount = (i + 3) * 2 }); } warehouse.AcountingSupply(new PurchaseInvoice(testPortions)); Assert.AreEqual("Product0", warehouse.Products[0].Name); Assert.AreEqual("Product99", warehouse.Products[99].Name); Assert.AreEqual("Product22", warehouse.Products[22].Name); Assert.AreEqual(8, warehouse.Products[8].Id); Assert.AreEqual("kg", warehouse.Products[84].Unit); Assert.AreEqual(80, warehouse.Products[8].Price); Assert.IsNotNull(warehouse.PurchaseInvoices); // Проверяем в файле. warehouse.Save(); warehouse.Load(); Assert.AreEqual(8, warehouse.Products[8].Id); Assert.AreEqual("kg", warehouse.Products[84].Unit); }
public void Order() { // Продукция. const int n = 100; Warehouse warehouse = new Warehouse(); // Cоздаю тестовые порции, т.к. поставка порция + дата. List <Portion> testPortions = new List <Portion>(); for (int i = 0; i < n; i++) { // Cоздаю продукт, который является частью класса порция. Product newProduct = new Product() { Id = i, Name = $"Product{i}", Price = i * 10, Unit = "kg", DateTime = DateTime.Now }; // После этого создаю саму порцию. testPortions.Add(new Portion() { Product = newProduct, Amount = (i + 10) * 2 }); } warehouse.AcountingSupply(new PurchaseInvoice(testPortions)); // Создаем пользователя. Заходим в аккаунт. warehouse.RegistrationCustomer(new Customer() { Login = $"Customer", Password = "******", Adress = "saltovskaya 33" }); warehouse.AuthenticationCustomer(new Customer() { Login = "******", Password = "******" }); for (int i = 0; i < 10; ++i) { warehouse.AddBasket(warehouse.Products[i], 10); } // Само тестирование. warehouse.CreateNewOrder(); // Пустая корзина. Assert.AreEqual(0, ((Customer)warehouse.UserNow).Basket.Count); // Счет стоимости заказа. GetTotal() Assert.AreEqual(4500, warehouse.Orders[0].TotalPrice); // Содержание заказа. Assert.AreEqual(warehouse.Products[3], warehouse.Orders[0].Portions[3].Product); // Проверяем метод СonfirmationOfOrder(Order targetOrder) и DeleteOrder(Order order), который он вызывает warehouse.СonfirmationOfOrder(warehouse.Orders[0]); Assert.AreEqual(0, warehouse.Orders.Count); Assert.AreNotEqual(0, warehouse.SalesInvoices); }
public void TestMethod1() { Warehouse warehouse = new Warehouse(); const int n = 100; const int m = 7; const int k = 4; // Products + PurchaseInvoices List <Portion> testPortions = new List <Portion>(); for (int i = 0; i < n; i++) { // Cоздаю продукт, который является частью класса порция. Product newProduct = new Product() { Id = i, Name = $"Product{i}", Price = (i + 1) * (1 / 5 + 10), Unit = "kg", DateTime = DateTime.Now + TimeSpan.FromDays(i) }; // После этого создаю саму порцию. testPortions.Add(new Portion() { Product = newProduct, Amount = (i + 3) * 13 }); } warehouse.AcountingSupply(new PurchaseInvoice(testPortions)); // Customers. for (int i = 0; i < m; i++) { warehouse.RegistrationCustomer(new Customer() { Login = $"Customer{i}", Password = "******" + i, Adress = "naukova " + (i + 3) * 7 }); } // Orders. for (int i = 0; i < k; ++i) { warehouse.AuthenticationCustomer(warehouse.Customers[i]); for (int g = 0; g < k; ++g) { for (int j = i + 12; j < i + 16; ++j) { warehouse.AddBasket(warehouse.Products[j + g], 9 * (i + 3 + g)); } warehouse.CreateNewOrder(); } } // SalesInvoices + History for Сustomer. warehouse.СonfirmationOfOrder(warehouse.Orders[0]); warehouse.СonfirmationOfOrder(warehouse.Orders[2]); warehouse.СonfirmationOfOrder(warehouse.Orders[5]); warehouse.Save(); }