public void EnsureScheduleComparerWorks()
        {
            var p = new Planner();

            var date = new DateTime(2016, 1, 1, 2, 3, 4, 5);

            var u1 = p.From(date).Unbound();
            var u2 = p.From(date).Unbound().Include(date);

            var s1 = u1.Publish();
            var s2 = u2.Publish();
            
            Assert.Equal(s1, s1);
            Assert.Equal(s2, s2);
            Assert.NotEqual(s1, s2);
        }
        public void EnsureScheduleDataNotBleedingAcrossBeforePublish()
        {
            var p = new Planner();

            var date = new DateTime(2016, 1, 1, 2, 3, 4, 5);

            var u1 = p.From(date).Unbound();
            var u2 = p.From(date).Unbound().Include(date);

            var s1 = u1.Publish();
            var s2 = u2.Publish();

            Assert.NotNull(s1);
            Assert.NotNull(s2);
            Assert.NotEqual(s1, s2);
        }
예제 #3
0
        public void UntilWithSpanningParameterSetsTo(string from, int days, int weeks, string to)
        {
            var p = new Planner();

            var s = p.From(DateTime.Parse(from)).Until(days, weeks).Publish();
            Assert.Equal(DateTime.Parse(to), s.To);
        }
        public void OpenBlock()
        {
            var p = new Planner();

            BlockOpen o = p.From(DateTime.Now);

            Assert.NotNull(o);
        }
예제 #5
0
        public void DoesStoreOpenDate()
        {
            var p = new Planner();

            var date = new DateTime(2016, 1, 1, 2, 3, 4, 5);

            Dates d = p.From(date).Unbound().Publish();

            Assert.NotNull(d.From);
            Assert.Equal(date.Date, d.From);
        }
예제 #6
0
        public void SpecifyingUntilWithDateSetsToDate()
        {
            var p = new Planner();

            var date = new DateTime(2016, 1, 1, 2, 3, 4, 5);

            var s = p.From(date).Until(1).Publish();

            Assert.Equal(date.Date, s.From);
            Assert.Equal(date.Date.AddDays(1), s.To);
            Assert.Null(s.SpanInDays);
            Assert.Null(s.SpanInWeeks);
        }
예제 #7
0
        public void PublishingInitialUnbound()
        {
            var p = new Planner();

            var date = new DateTime(2016, 1, 1, 2, 3, 4, 5);

            Dates d = p.From(date).Unbound().Publish();

            Assert.Null(d.To);
            Assert.Null(d.SpanInDays);
            Assert.Null(d.SpanInWeeks);
            Assert.Empty(d.Skips);
            Assert.Empty(d.Included);
            Assert.Empty(d.Excluded);
        }
예제 #8
0
        public void IfClientCallsUntilAgainThenGetsNewSchedule()
        {
            var p = new Planner();

            var date = new DateTime(2016, 1, 1, 2, 3, 4, 5);

            var f = p.From(date);

            var u1 = f.Until(1);
            var u2 = f.Until(2);

            var s1 = u1.Publish();
            var s2 = u2.Publish();

            Assert.NotNull(s1);
            Assert.NotNull(s2);
            Assert.NotEqual(s1, s2);
        }