示例#1
0
        public void RecurrenceIsReadWrite()
        {
            var            activity   = new Activity();
            DateRecurrence recurrence = new DateRecurrence();

            activity.Recurrence = recurrence;
            Assert.That(activity.Recurrence, Is.SameAs(recurrence));
        }
        public void BadRecurFromTypeError()
        {
            var recur = new DateRecurrence(new DailyProjection()
            {
                DayCount = 1
            }, (ERecurFromType)int.MaxValue);

            Assert.That(() => recur.GetNext(new DateTime(), new DateTime(2017, 2, 28), 0), Throws.TypeOf <InvalidOperationException>());
        }
        public void DefaultConstructor()
        {
            var recur = new DateRecurrence();

            recur.DateProjectionImpl.GetTranslator().PeriodCount = 1;
            DateTime nextDate = recur.GetNext(new DateTime(2017, 2, 28));

            Assert.That(nextDate, Is.EqualTo(new DateTime(2017, 3, 1)));
        }
        public void ProjectionTypeAndRecurFromTypeConstructor()
        {
            var recur = new DateRecurrence(EDateProjectionType.Monthly, ERecurFromType.FromCompletedDate);

            recur.DateProjectionImpl.GetTranslator().PeriodCount = 1;
            recur.DateProjectionImpl.GetTranslator().DayOfMonth  = 29;
            DateTime?nextDate = recur.GetNext(new DateTime(), new DateTime(2017, 2, 28), 0);

            Assert.That(nextDate, Is.EqualTo(new DateTime(2017, 3, 29)));
        }
        public void DateProjectionAndRecurFromTypeConstructor()
        {
            var recur = new DateRecurrence(new DailyProjection()
            {
                DayCount = 1
            }, ERecurFromType.FromCompletedDate);

            DateTime?nextDate1 = recur.GetNext(new DateTime(), new DateTime(2017, 2, 28), 0);

            Assert.That(nextDate1, Is.EqualTo(new DateTime(2017, 3, 1)));
        }
        public void DtoAndDomainRoundTrip()
        {
            Fixture fixture = TestHelper.CreateSerializationAutoFixture();

            DateRecurrenceDto sourceDto = fixture.Create <DateRecurrenceDto>();
            DateRecurrence    domain    = DateRecurrence.FromDto(sourceDto);
            DateRecurrenceDto targetDto = DateRecurrence.ToDto(domain);

            var sourceDtoLikeness = sourceDto.AsSource().OfLikeness <DateRecurrenceDto>();

            sourceDtoLikeness.ShouldEqual(targetDto);
        }
示例#7
0
        public void FluentlyCreateWithRecurrenceAsDateRecurrence()
        {
            var dateRecurrence = new DateRecurrence(EDateProjectionType.Daily, ERecurFromType.FromActiveDueDate)
            {
                PeriodCount = 4,
            };
            Activity activity = Activity.FluentNew("New Activity")
                                .ActiveDueDate(new DateTime(2017, 2, 28))
                                .Recurrence(dateRecurrence);

            activity.SignalCompleted(new DateTime(2017, 2, 14));
            Assert.That(activity.ActiveDueDate, Is.EqualTo(new DateTime(2017, 3, 4)));
        }
 public TReturn Recurrence(DateRecurrence dateRecurrence)
 {
     this.Activity.Recurrence = dateRecurrence;
     return((TReturn)this);
 }