public void TestGetLateFee() { int lateFee = 5; Member studentMember = new Member() { MemberType = MEMBERTYPE.STUDENT }; DateTime tenDaysAgo = DateTime.Now.Subtract(TimeSpan.FromDays(10)); IssuedItem someItem = new IssuedItem() { AccessionRecord = accessionRecords[0], IssuedItemId = 21, Member = studentMember, LateFeePerDay = lateFee, IssueDate = tenDaysAgo // Setting the issueDate to 10 days ago makes the number of late days to be // 3 for a student member. }; dynamic service = new IssuedItemService(accRecMock.Object); // Number of days from due date that have passed i.e. how may days ago // was the due date int lateDays = DateTime.Now.Subtract(service.GetDueDate(someItem)).Days; Assert.AreEqual(lateFee * lateDays, service.GetLateFee(someItem)); }
public void TestGetDueDate() { Member studentMember = new Member() { MemberType = MEMBERTYPE.STUDENT }; Member facultyMember = new Member() { MemberType = MEMBERTYPE.FACULTY }; IssuedItem studentItem = new IssuedItem() { AccessionRecord = accessionRecords[0], IssuedItemId = 21, Member = studentMember }; IssuedItem facultyItem = new IssuedItem() { AccessionRecord = accessionRecords[0], IssuedItemId = 22, Member = facultyMember }; dynamic service = new IssuedItemService(accRecMock.Object); DateTime returnDateStudent = service.GetDueDate(studentItem); DateTime returnDateFaculty = service.GetDueDate(facultyItem); // Student due date should be 7 days from today. Assert.IsTrue(returnDateStudent.Subtract(studentItem.IssueDate).Days == 7); // Faculty due date should be 90 days from now Assert.IsTrue(returnDateFaculty.Subtract(facultyItem.IssueDate).Days == 90); }
public void TestGetRandomIssuableAccRecord() { dynamic service = new IssuedItemService(mockContext.Object); // For this test, we set all issuedItems as "Returned" foreach (var i in issuedItems) { i.IsReturned = true; } AccessionRecord ar = service.GetRandomIssuableAccRecord(itemid: 1); Assert.AreEqual(1, ar.Item.ItemId); }
public void TestGetLateFee() { int lateFee = 5; IssuedItem someItem = new IssuedItem() { AccessionRecord = accessionRecords[0], IssuedItemId = 21, Member = member, LateFeePerDay = lateFee }; dynamic service = new IssuedItemService(accRecMock.Object); DateTime returnDateStudent = service.GetDueDate(someItem).ToString("dd/MM/yyyy"); DateTime tenDaysLate = returnDateStudent.Add(TimeSpan.FromDays(10)); Assert.IsTrue(service.GetLateFee(someItem) == lateFee * 10); }
public void TestGetUnIssuedAccRecords() { // For this test, we set all issuedItems as "Returned" foreach (var i in issuedItems) { i.IsReturned = true; } // This adds an accession record for a copy that is issued AccessionRecord issuedRecord = new AccessionRecord() { Item = item, AccessionRecordId = 18 }; accessionRecords.Add(issuedRecord); // And add a new one, where "Returned" = false, i.e. it a member has borrowed it. // i.e, a member borrows the new copy, hence isReturned = false AccessionRecord neverIssued = new AccessionRecord() { Item = item, AccessionRecordId = 19 }; accessionRecords.Add(neverIssued); // Now we add an issuedItem which is borrowed. We're simulating a situation where all Items are returned, // and a member borrows one Item (whose Acc. Record is issuedRecord). issuedItems.Add(new IssuedItem() { AccessionRecord = issuedRecord, IsReturned = false }); var service = new IssuedItemService(mockContext.Object); IEnumerable <int> recordIds = service.GetAllIssuableAccRecords().Select(r => r.AccessionRecordId); foreach (var rec in recordIds) { Debug.WriteLine(rec); } // Assert that the record that was never issued is also included Assert.IsTrue(recordIds.Contains(neverIssued.AccessionRecordId)); // Assert that the returned Acession Record is NOT included Assert.IsFalse(recordIds.Contains(issuedRecord.AccessionRecordId)); }