public void Test21() { Initial(); int[] timeCheat = { 05, 03, 2018 }; DateTime Now = new DateTime(2018, 04, 02); Faculty p1 = new Faculty("p1"); Student s = new Student("s"); VisitingProfessor v = new VisitingProfessor("v"); DocClass d1 = new DocClass("Introduction to Algorithms"); DocClass d2 = new DocClass("Design Patterns: Elements of Reusable Object-Oriented Software"); p1.CheckOut(d1.ID, timeCheat); p1.CheckOut(d2.ID, timeCheat); s.CheckOut(d1.ID, timeCheat); s.CheckOut(d2.ID, timeCheat); v.CheckOut(d1.ID, timeCheat); v.CheckOut(d2.ID, timeCheat); Debug.Assert(SDM.LMS.OverdueTime(p1.PersonID, d1.ID, Now) == 0); Debug.Assert(SDM.LMS.OverdueTime(p1.PersonID, d2.ID, Now) == 0); Debug.Assert(SDM.LMS.GetUserFineForDoc(p1.PersonID, d1.ID, Now) == 0); Debug.Assert(SDM.LMS.GetUserFineForDoc(p1.PersonID, d2.ID, Now) == 0); Debug.Assert(SDM.LMS.OverdueTime(s.PersonID, d1.ID, Now) == 7); Debug.Assert(SDM.LMS.OverdueTime(s.PersonID, d2.ID, Now) == 14); Debug.Assert(SDM.LMS.GetUserFineForDoc(s.PersonID, d1.ID, Now) == 700); Debug.Assert(SDM.LMS.GetUserFineForDoc(s.PersonID, d2.ID, Now) == 1400); Debug.Assert(SDM.LMS.OverdueTime(v.PersonID, d1.ID, Now) == 21); Debug.Assert(SDM.LMS.OverdueTime(v.PersonID, d2.ID, Now) == 21); Debug.Assert(SDM.LMS.GetUserFineForDoc(v.PersonID, d1.ID, Now) == 2100); Debug.Assert(SDM.LMS.GetUserFineForDoc(v.PersonID, d2.ID, Now) == 1700); }
public void Test17() { Test11(); Librarian lb = new Librarian("lb"); Faculty p1 = new Faculty("Sergey Afonso"); Student p2 = new Student("Nadia Teixeira"); admin.ModifyLibrarian(lb.PersonID, "lb", "lb", "lb", 2); DocClass b1 = new DocClass("Introduction to Algorithms"); DocClass b2 = new DocClass("Design Patterns: Elements of Reusable Object-Oriented Software"); DocClass b3 = new DocClass("The Mythical Man-month"); DocClass av1 = new DocClass("Null References: The Billion Dollar Mistake"); DocClass av2 = new DocClass("Information Entropy"); p1.CheckOut(b1.ID); p1.CheckOut(b2.ID); p1.CheckOut(b3.ID); p1.CheckOut(av1.ID); p2.CheckOut(b1.ID); p2.CheckOut(b2.ID); p2.CheckOut(av2.ID); List <CheckedOut> CheckedOutInfo = new List <CheckedOut> { new CheckedOut { CheckOutTime = DateTime.Now.AddDays(21).Day, DocumentCheckedOut = "Introduction to Algorithms" }, new CheckedOut { CheckOutTime = DateTime.Now.AddDays(14).Day, DocumentCheckedOut = "Design Patterns: Elements of Reusable Object-Oriented Software" }, new CheckedOut { CheckOutTime = DateTime.Now.AddDays(14).Day, DocumentCheckedOut = "Information Entropy" } }; Debug.Assert(SDM.LMS.CheckUserInfo("Nadia Teixeira", "Via Sacra, 13", "30002", 0, CheckedOutInfo)); CheckedOutInfo = new List <CheckedOut> { new CheckedOut { CheckOutTime = DateTime.Now.AddDays(28).Day, DocumentCheckedOut = "Introduction to Algorithms" }, new CheckedOut { CheckOutTime = DateTime.Now.AddDays(28).Day, DocumentCheckedOut = "Design Patterns: Elements of Reusable Object-Oriented Software" }, new CheckedOut { CheckOutTime = DateTime.Now.AddDays(28).Day, DocumentCheckedOut = "The Mythical Man-month" }, new CheckedOut { CheckOutTime = DateTime.Now.AddDays(14).Day, DocumentCheckedOut = "Null References: The Billion Dollar Mistake" } }; Debug.Assert(SDM.LMS.CheckUserInfo("Sergey Afonso", "Via Margutta, 3", "30001", 1, CheckedOutInfo)); }
public void Test20() { Initial(); Faculty p1 = new Faculty("p1"); DocClass d1 = new DocClass("Introduction to Algorithms"); DocClass d2 = new DocClass("Design Patterns: Elements of Reusable Object-Oriented Software"); p1.CheckOut(d1.ID, new int[] { 05, 03, 2018 }); p1.CheckOut(d2.ID, new int[] { 05, 03, 2018 }); p1.ReturnDoc(d2.ID); Debug.Assert(SDM.LMS.GetUserFineForDoc(p1.PersonID, d1.ID, new DateTime(2018, 04, 02)) == 0); }
public void Test23() { Initial(); int[] timeCheat = { 31, 03, 2018 }; Librarian lb = new Librarian("lb"); Faculty p1 = new Faculty("p1"); Student s = new Student("s"); VisitingProfessor v = new VisitingProfessor("v"); admin.ModifyLibrarian(lb.PersonID, "lb", "lb", "lb", 2); DocClass d1 = new DocClass("Introduction to Algorithms"); DocClass d2 = new DocClass("Design Patterns: Elements of Reusable Object-Oriented Software"); p1.CheckOut(d1.ID, timeCheat); s.CheckOut(d2.ID, timeCheat); v.CheckOut(d2.ID, timeCheat); lb.OutstandingRequest(d2.ID); timeCheat = new int[] { 02, 04, 2018 }; DateTime Now = new DateTime(2018, 04, 14); p1.RenewDoc(d1.ID, timeCheat); s.RenewDoc(d2.ID, timeCheat); v.RenewDoc(d2.ID, timeCheat); Debug.Assert(SDM.LMS.GetCheckout(p1.PersonID, d1.ID).TimeToBack.Day == 30); Debug.Assert(SDM.LMS.GetCheckout(s.PersonID, d2.ID).TimeToBack.Day == Now.Day); Now = new DateTime(2018, 04, 07); Debug.Assert(SDM.LMS.GetCheckout(v.PersonID, d2.ID).TimeToBack.Day == Now.Day); }
public void Test3() { SDM.LMS.ClearDB(); SDM.LMS.RegisterUser("st", "st", "st", "st", "st", false); SDM.LMS.RegisterUser("ft", "ft", "ft", "ft", "ft", false); SDM.LMS.RegisterUser("lb", "lb", "lb", "lb", "lb", true); Student st = new Student("st"); Faculty ft = new Faculty("ft"); Librarian lb = new Librarian("lb"); admin.ModifyLibrarian(lb.PersonID, "lb", "lb", "lb", 2); lb.AddBook("b", "b", "B", 0, "B", "B", 0, false, 1, ""); DocClass b = new DocClass("b"); ft.CheckOut(b.ID); Debug.Assert(SDM.LMS.GetUser(lb.PersonID) != null); Debug.Assert(SDM.LMS.GetUser(ft.PersonID) != null); Debug.Assert(SDM.LMS.GetUser(st.PersonID) != null); Debug.Assert(SDM.LMS.GetDoc(b.ID) != null); Debug.Assert(b.Quantity == 0); Debug.Assert(SDM.LMS.GetUserBooks(ft.PersonID, 7, "").Count == 1); DataBase.Checkouts checkouts = SDM.LMS.GetCheckout(ft.PersonID, b.ID); Debug.Assert(checkouts.TimeToBack.Subtract((DateTime)checkouts.DateTaked).TotalDays / 7 == 4); }
public void Test18() { Test11(); Librarian lb = new Librarian("lb"); Faculty p1 = new Faculty("Sergey Afonso"); Student p2 = new Student("Nadia Teixeira"); admin.ModifyLibrarian(lb.PersonID, "lb", "lb", "lb", 2); DocClass b1 = new DocClass("Introduction to Algorithms"); DocClass b2 = new DocClass("Design Patterns: Elements of Reusable Object-Oriented Software"); DocClass av1 = new DocClass("Null References: The Billion Dollar Mistake"); p1.CheckOut(b1.ID, new int[] { 09, 02, 2018 }); p1.CheckOut(b2.ID, new int[] { 02, 02, 2018 }); p2.CheckOut(b1.ID, new int[] { 05, 02, 2018 }); p2.CheckOut(av1.ID, new int[] { 17, 02, 2018 }); DateTime now = new DateTime(2018, 03, 05); List <OverdueInfo> overdueInfos = new List <OverdueInfo>() { new OverdueInfo { Overdue = (int)now.Subtract(new DateTime(2018, 02, 02).AddDays(28)).TotalDays, DocumentChekedOut = "Design Patterns: Elements of Reusable Object-Oriented Software" } }; Debug.Assert(SDM.LMS.CheckUserInfo("Sergey Afonso", "Via Margutta, 3", "30001", 1, overdueInfos, now)); overdueInfos = new List <OverdueInfo> { new OverdueInfo { Overdue = (int)now.Subtract(new DateTime(2018, 02, 05).AddDays(21)).TotalDays, DocumentChekedOut = "Introduction to Algorithms" }, new OverdueInfo { Overdue = (int)now.Subtract(new DateTime(2018, 02, 17).AddDays(14)).TotalDays, DocumentChekedOut = "Null References: The Billion Dollar Mistake" } }; Debug.Assert(SDM.LMS.CheckUserInfo("Nadia Teixeira", "Via Sacra, 13", "30002", 0, overdueInfos, now)); }
public void Test16() { Test11(); Librarian lb = new Librarian("lb"); Faculty p1 = new Faculty("Sergey Afonso"); Student p3 = new Student("Elvira Espindola"); admin.ModifyLibrarian(lb.PersonID, "lb", "lb", "lb", 2); DocClass b1 = new DocClass("Introduction to Algorithms"); DocClass b2 = new DocClass("Design Patterns: Elements of Reusable Object-Oriented Software"); p1.CheckOut(b1.ID); p3.CheckOut(b1.ID); p1.CheckOut(b2.ID); List <CheckedOut> CheckedOutInfo = new List <CheckedOut> { new CheckedOut { CheckOutTime = DateTime.Now.AddDays(21).Day, DocumentCheckedOut = "Introduction to Algorithms" } }; Debug.Assert(SDM.LMS.CheckUserInfo("Elvira Espindola", "Via del Corso, 22", "30003", 0, CheckedOutInfo)); CheckedOutInfo = new List <CheckedOut> { new CheckedOut { CheckOutTime = DateTime.Now.AddDays(28).Day, DocumentCheckedOut = "Introduction to Algorithms" }, new CheckedOut { CheckOutTime = DateTime.Now.AddDays(28).Day, DocumentCheckedOut = "Design Patterns: Elements of Reusable Object-Oriented Software" } }; Debug.Assert(SDM.LMS.CheckUserInfo("Sergey Afonso", "Via Margutta, 3", "30001", 1, CheckedOutInfo)); }
public void Test25() { Initial(); int[] dateCheat = { 02, 04, 2018 }; Faculty p1 = new Faculty("p1"); Student s = new Student("s"); VisitingProfessor v = new VisitingProfessor("v"); DocClass d3 = new DocClass("Null References: The Billion Dollar Mistake"); p1.CheckOut(d3.ID, dateCheat); s.CheckOut(d3.ID, dateCheat); v.CheckOut(d3.ID, dateCheat); PriorityQueue <int> pq = SDM.LMS.LoadPQ(d3.ID); Debug.Assert(pq.Pop() == v.PersonID); }
public void Test30() { Initial(); Faculty p1 = new Faculty("p1"); VisitingProfessor v = new VisitingProfessor("v"); DocClass d1 = new DocClass("Introduction to Algorithms"); p1.CheckOut(d1.ID, new int[] { 26, 03, 2018 }); p1.RenewDoc(d1.ID, new int[] { 29, 03, 2018 }); v.CheckOut(d1.ID, new int[] { 29, 03, 2018 }); v.RenewDoc(d1.ID, new int[] { 30, 03, 2018 }); List <CheckedOut> checkedOuts = SDM.LMS.GetCheckoutsList("p1"); Debug.Assert(checkedOuts.First().CheckOutTime == 26); Debug.Assert(checkedOuts.First().DocumentCheckedOut == "Introduction to Algorithms"); checkedOuts = SDM.LMS.GetCheckoutsList("v"); Debug.Assert(checkedOuts.First().CheckOutTime == 5); Debug.Assert(checkedOuts.First().DocumentCheckedOut == "Introduction to Algorithms"); }
public void Test22() { Initial(); int[] timeCheat = { 02, 04, 2018 }; Faculty p1 = new Faculty("p1"); Student s = new Student("s"); VisitingProfessor v = new VisitingProfessor("v"); DocClass d1 = new DocClass("Introduction to Algorithms"); DocClass d2 = new DocClass("Design Patterns: Elements of Reusable Object-Oriented Software"); p1.CheckOut(d1.ID, timeCheat); s.CheckOut(d2.ID, timeCheat); v.CheckOut(d2.ID, timeCheat); p1.RenewDoc(d1.ID, timeCheat); s.RenewDoc(d2.ID, timeCheat); v.RenewDoc(d2.ID, timeCheat); Debug.Assert(SDM.LMS.GetCheckout(p1.PersonID, d1.ID).TimeToBack.Day == 30); Debug.Assert(SDM.LMS.GetCheckout(s.PersonID, d2.ID).TimeToBack.Day == 16); Debug.Assert(SDM.LMS.GetCheckout(v.PersonID, d2.ID).TimeToBack.Day == 9); }
public void Test37() { Test34(); Faculty p1 = new Faculty("p1"); Faculty p2 = new Faculty("p2"); Student s = new Student("s"); VisitingProfessor v = new VisitingProfessor("v"); Faculty p3 = new Faculty("p3"); Librarian lb3 = new Librarian("lb3"); DocClass d1 = new DocClass("d1"); DocClass d2 = new DocClass("d2"); DocClass d3 = new DocClass("d3"); SDM.CurrentUser = p1; p1.CheckOut(d3.ID); SDM.CurrentUser = p2; p2.CheckOut(d3.ID); SDM.CurrentUser = s; s.CheckOut(d3.ID); SDM.CurrentUser = v; v.CheckOut(d3.ID); SDM.CurrentUser = p3; p3.CheckOut(d3.ID); SDM.CurrentUser = lb3; lb3.OutstandingRequest(d3.ID); Debug.Assert(d3.IsRequested); Debug.Assert(!SDM.LMS.ExistQueueForDoc(d3.ID)); }