public void GetCheckedOutCopies_OnlyReturnsCheckedoutBook() { DateTime dueDate = new DateTime(2017, 6, 1); Patron newPatron = new Patron("Joe"); newPatron.Save(); Book newBook = new Book("Gone With the Wind"); newBook.Save(); Copy copy1 = new Copy(newBook.GetId()); copy1.Save(); newPatron.Checkout(copy1.GetId(), newPatron.GetId(), dueDate); Copy copy2 = new Copy(newBook.GetId()); copy2.Save(); Checkout newCheckout = newPatron.Checkout(copy2.GetId(), newPatron.GetId(), dueDate); newCheckout.CheckIn(); DateTime currentDate = new DateTime(2017, 7, 1); List <Copy> expectedResult = new List <Copy> { copy1 }; List <Copy> actualResult = newPatron.GetCheckedOutCopies(currentDate); Assert.Equal(expectedResult, actualResult); }
public void AddCopy(Copy selectedCopy) { int isAvailable = selectedCopy.GetAvailable(); if (isAvailable == 1) { SqlConnection conn = DB.Connection(); conn.Open(); SqlCommand cmd = new SqlCommand("INSERT INTO checkout (patron_id, copy_id, current_checkout, due_date) VALUES (@PatronId, @CopyId, @CurrentCheckout, @DueDate); UPDATE copy SET available = @Available WHERE id = @CopyId;", conn); cmd.Parameters.Add(new SqlParameter("@PatronId", this.GetId().ToString())); cmd.Parameters.Add(new SqlParameter("@CopyId", selectedCopy.GetId().ToString())); cmd.Parameters.Add(new SqlParameter("@CurrentCheckout", "1")); //TODO Later on, lets figure out a way to get the current date to plug into duedate. cmd.Parameters.Add(new SqlParameter("@DueDate", "2017-03-02")); cmd.Parameters.Add(new SqlParameter("@Available", "0")); cmd.ExecuteNonQuery(); if (conn != null) { conn.Close(); } selectedCopy.SetAvailable(0); } }
public void AddCopy(Copy newCopy) { SqlConnection conn = DB.Connection(); conn.Open(); SqlCommand cmd = new SqlCommand("INSERT INTO checkouts (patron_id, copy_id) VALUES (@PatronId, @CopyId);", conn); SqlParameter patronIdParameter = new SqlParameter(); patronIdParameter.ParameterName = "@PatronId"; patronIdParameter.Value = this.GetId(); cmd.Parameters.Add(patronIdParameter); SqlParameter copyIdParameter = new SqlParameter(); copyIdParameter.ParameterName = "@CopyId"; copyIdParameter.Value = newCopy.GetId(); cmd.Parameters.Add(copyIdParameter); cmd.ExecuteNonQuery(); if (conn != null) { conn.Close(); } }
public void GetCheckedOutCopies_ReturnListOfCopies() { Patron newPatron = new Patron("Joe"); newPatron.Save(); Book newBook = new Book("Gone With the Wind"); newBook.Save(); Copy newCopy = new Copy(newBook.GetId()); newCopy.Save(); DateTime dueDate = new DateTime(2017, 6, 1); newPatron.Checkout(newCopy.GetId(), newPatron.GetId(), dueDate); DateTime currentDate = new DateTime(2017, 7, 1); List <Copy> expectedResult = new List <Copy> { newCopy }; List <Copy> actualResult = newPatron.GetCheckedOutCopies(currentDate); Assert.Equal(expectedResult, actualResult); }
public void T5_Find_FindsCopyInDatabase() { Copy testCopy = new Copy(1); testCopy.Save(); Copy foundCopy = Copy.Find(testCopy.GetId()); Assert.Equal(testCopy, foundCopy); }
public void Test_Find_FindCopyInDatabase() { Copy testCopy = new Copy ("New", 1, new DateTime(2016, 7, 25), new DateTime(2016, 8, 25)); testCopy.Save(); Copy result = Copy.Find(testCopy.GetId()); Assert.Equal(testCopy, result); }
public void FindById_ReturnsCopyWhenSearchedById() { Copy newCopy = new Copy(1); newCopy.Save(); Copy result = Copy.FindById(newCopy.GetId()); Assert.Equal(newCopy, result); }
public void T4_Save_AssignsIdToCopy() { Copy testCopy = new Copy(2); testCopy.Save(); Copy savedCopy = Copy.GetAll()[0]; int result = savedCopy.GetId(); int testId = testCopy.GetId(); Assert.Equal(testId, result); }
public override bool Equals(System.Object otherCopy) { if (!(otherCopy is Copy)) { return(false); } else { Copy newCopy = (Copy)otherCopy; bool idEquality = (this.GetId() == newCopy.GetId()); bool bookIdEquality = (this.GetBookId() == newCopy.GetBookId()); bool availableEquality = (this.GetAvailability() == newCopy.GetAvailability()); return(idEquality && bookIdEquality && availableEquality); } }
public override bool Equals(System.Object otherCopy) { if (!(otherCopy is Copy)) { return(false); } else { Copy newCopy = (Copy)otherCopy; bool idEquality = this.GetId() == newCopy.GetId(); bool BookIdEquality = this.GetBookId() == newCopy.GetBookId(); return(idEquality && BookIdEquality); } }
public void Test_Find_FindsCopyInDatabase() { //Arrange Copy testCopy1 = new Copy(1, 15); testCopy1.Save(); Copy testCopy2 = new Copy(2, 20); testCopy2.Save(); //Act Copy result = Copy.Find(testCopy2.GetId()); //Assert Assert.Equal(testCopy2, result); }
public void Test_Save_AssignsIdToCopyObject() { //Arrange Copy testCopy = new Copy(1, 15); testCopy.Save(); //Act Copy savedCopy = Copy.GetAll()[0]; int result = savedCopy.GetId(); int testId = testCopy.GetId(); //Assert Assert.Equal(testId, result); }
public void T1_Checkout_CreatesACheckoutRecord() { Patron testPatron = new Patron("Judy"); testPatron.Save(); Copy testCopy = new Copy(5); testCopy.Save(); DateTime checkoutDate = new DateTime(2016,08,04); DateTime dueDate = new DateTime(2017,01,02); Checkout newCheckout = new Checkout(testCopy.GetId(), testPatron.GetId(), checkoutDate, dueDate); newCheckout.Save(); List<Checkout> result = Checkout.GetAll(); Assert.Equal(newCheckout, result[0]); }
public void T1_Checkout_CreatesACheckoutRecord() { Patron testPatron = new Patron("Judy"); testPatron.Save(); Copy testCopy = new Copy(5); testCopy.Save(); DateTime checkoutDate = new DateTime(2016, 08, 04); DateTime dueDate = new DateTime(2017, 01, 02); Checkout newCheckout = new Checkout(testCopy.GetId(), testPatron.GetId(), checkoutDate, dueDate); newCheckout.Save(); List <Checkout> result = Checkout.GetAll(); Assert.Equal(newCheckout, result[0]); }
public void CheckIn(Copy selectedCopy) { SqlConnection conn = DB.Connection(); conn.Open(); SqlCommand cmd = new SqlCommand("UPDATE copy SET available = @Available WHERE id = @CopyId; UPDATE checkout SET current_checkout = @CurrentCheckout WHERE copy_id = @CopyId AND patron_id = @PatronId;", conn); cmd.Parameters.Add(new SqlParameter("@Available", "1")); cmd.Parameters.Add(new SqlParameter("@CopyId", selectedCopy.GetId().ToString())); cmd.Parameters.Add(new SqlParameter("@CurrentCheckout", "0")); cmd.Parameters.Add(new SqlParameter("@PatronId", this.GetId().ToString())); cmd.ExecuteNonQuery(); if (conn != null) { conn.Close(); } selectedCopy.SetAvailable(1); }
public void AddCopy(Copy newCopy) { SqlConnection conn = DB.Connection(); conn.Open(); SqlCommand cmd = new SqlCommand ("INSERT INTO checkouts (copy_id, patron_id) VALUES (@CopyId, @PatronId);", conn); SqlParameter copyIdParameter = new SqlParameter(); copyIdParameter.ParameterName = "@CopyId"; copyIdParameter.Value = newCopy.GetId(); SqlParameter patronIdParameter = new SqlParameter(); patronIdParameter.ParameterName = "@PatronId"; patronIdParameter.Value = this.GetId(); cmd.Parameters.Add(copyIdParameter); cmd.Parameters.Add(patronIdParameter); cmd.ExecuteNonQuery(); if (conn != null) { conn.Close(); } }
public void Test_Update_UpdateCopyInDatabase() { Copy newCopy = new Copy ("New", 1, new DateTime(2016, 7, 25), new DateTime(2016, 8, 25)); newCopy.Save(); newCopy.SetCondition("Worn & Torn"); newCopy.Update(); Copy updatedCopy = Copy.Find(newCopy.GetId()); Assert.Equal(newCopy.GetCondition(), updatedCopy.GetCondition()); }