public void ReturnTest() { LibraryLogic logic = new LibraryLogic(new Library()); DateTime pastDate = new DateTime(2020, 10, 30); TimeSpan diff = DateTime.Today - pastDate; AbstCustomer c = new Customer("Paul", 1, 10000); AbstBook b = new Book("Dune", "Herbert", BType.SciFi, 1, 1); logic.AddCustomer(c); logic.AddToCatalog(b); logic.AddToStock(b); Assert.AreEqual(logic.GetLibrary.Stock.Count(), 1); logic.AddToBasket(logic.GetLibrary.Customers[0], logic.GetLibrary.Stock[0]); logic.Borrow(logic.GetLibrary.Customers[0]); Assert.AreEqual(logic.GetLibrary.Stock.Count(), 0); logic.GetLibrary.Customers[0].Borrowed[0].ReturnDate = pastDate; Assert.AreEqual(logic.TotalPenalty(logic.GetLibrary.Customers[0]), diff.Days); logic.Return(logic.GetLibrary.Customers[0]); Assert.AreEqual(logic.GetLibrary.Customers[0].MoneyInCents, 10000 - diff.Days); Assert.AreEqual(logic.GetLibrary.Stock.Count(), 1); Assert.AreEqual(logic.GetLibrary.Customers[0].Borrowed.Count(), 0); }
public void EventGanerationTest() { LibraryLogic logic = new LibraryLogic(new Library()); AbstCustomer c = new Customer("Paul", 1, 10000); AbstBook b = new Book("Dune", "Herbert", BType.SciFi, 1, 2); logic.AddCustomer(c); Assert.AreEqual(logic.GetLibrary.Events[0].Name, "Added customer " + c.Id); logic.AddToCatalog(b); Assert.AreEqual(logic.GetLibrary.Events[1].Name, "Added to catalog book " + b.Id); logic.AddToStock(b); Assert.AreEqual(logic.GetLibrary.Events[2].Name, "Added to stock book " + b.Id); logic.AddToBasket(logic.GetLibrary.Customers[0], logic.GetLibrary.Stock[0]); Assert.AreEqual(logic.GetLibrary.Events[3].Name, "Removed from stock book " + b.Id); Assert.AreEqual(logic.GetLibrary.Events[4].Name, "Added to basket of " + c.Id + " book " + b.Id); logic.Borrow(logic.GetLibrary.Customers[0]); Assert.AreEqual(logic.GetLibrary.Events[5].Name, "Borrowing books by " + c.Id); Assert.AreEqual(logic.GetLibrary.Events[5].GetInvoice.Books[0], b); Console.WriteLine("Customer c. borrowed:1 " + logic.GetLibrary.Customers[0].Borrowed.Count()); logic.Return(logic.GetLibrary.Customers[0]); Console.WriteLine("Customer c. borrowed:2 " + logic.GetLibrary.Customers[0].Borrowed.Count()); Assert.AreEqual(logic.GetLibrary.Events[6].Name, "Returning books by " + c.Id); Console.WriteLine(logic.GetLibrary.Events[6].GetInvoice.Books.Count()); Assert.AreEqual(logic.GetLibrary.Events[6].GetInvoice.Books.Count(), 1); Assert.AreEqual(logic.GetLibrary.Events[7].Name, "Added to stock book " + b.Id); logic.RemoveCustomer(logic.GetLibrary.Customers[0]); Assert.AreEqual(logic.GetLibrary.Events[8].Name, "Removed customer " + c.Id); logic.RemoveFromCatalog(logic.GetLibrary.Catalog[0]); Assert.AreEqual(logic.GetLibrary.Events[9].Name, "Removed from catalog book " + b.Id); }