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);
        }
Exemple #4
0
        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));
        }