public void IsPastDueReturnsFalseIsNotCompleted()
        {
            var sut = new TestCompletable {
                CompletionDate = null
            };

            Assert.IsFalse(sut.IsCompletedPastDue());
        }
        public void IsOverDueReturnsFalseIfNotCompleted()
        {
            var SUT = new TestCompletable {
                CompletionDate = null
            };

            Assert.IsFalse(SUT.IsOverDue());
        }
        public void IsPastDueReturnsTrueIfCompletionDateAfterEndDate()
        {
            var dt = DateTime.Now;

            var sut = new TestCompletable {
                StartDate = dt, EndDate = dt.AddMinutes(1), CompletionDate = dt.AddSeconds(300)
            };

            Assert.IsTrue(sut.IsCompletedPastDue());
        }
        public void IsOverDueReturnsFalseIfCompletionDateEqualOrLessThanEndDate()
        {
            var dt  = DateTime.Now;
            var SUT = new TestCompletable {
                StartDate = dt, EndDate = dt.AddMinutes(1), CompletionDate = dt.AddMinutes(1)
            };

            Assert.IsFalse(SUT.IsOverDue());
            SUT.CompletionDate = SUT.CompletionDate.Value.AddSeconds(-1);
            Assert.IsFalse(SUT.IsOverDue());
        }
        public void IsPastDueReturnsFalseIsCompletionDateBeforeOrEqualEndDate()
        {
            var dt  = DateTime.Now;
            var sut = new TestCompletable {
                StartDate = dt, EndDate = dt.AddMinutes(1), CompletionDate = dt.AddMinutes(1)
            };

            Assert.IsFalse(sut.IsCompletedPastDue());
            var sut2 = new TestCompletable {
                StartDate = dt, EndDate = dt.AddMinutes(1), CompletionDate = dt.AddSeconds(30)
            };

            Assert.IsFalse(sut2.IsCompletedPastDue());
        }