Пример #1
0
        public void Test_nonempty()
        {
            OpenPeriodSet set = new OpenPeriodSet(startOne, startTwo) + new OpenPeriodSet(startThree, startFour);
            IOpenPeriod   nonEmpty;

            set.IsNonEmpty(out nonEmpty);
            nonEmpty.Earliest.Should().Be(startOne);
            nonEmpty.To.Should().Be(startFour);



            NonEmptyBoundedPeriodSet nonEmptyBounded = new NonEmptyBoundedPeriodSet(startOne);
            DateTime earliest = nonEmptyBounded.Start;
            DateTime last     = nonEmptyBounded.End;

            earliest.Should().Be(startOne);
            last.Should().Be(DateTime.MaxValue);
            nonEmptyBounded.IntervalCount.Should().Be(1);

            NonEmptyOpenPeriodSet nonEmptyOpen = new NonEmptyOpenPeriodSet(startOne);

            earliest = nonEmptyOpen.Earliest;
            DateTime?lastIfAny = nonEmptyOpen.To;

            earliest.Should().Be(startOne);
            lastIfAny.Should().Be(null);

            nonEmptyOpen = new NonEmptyOpenPeriodSet(startOne);
            nonEmptyOpen.Earliest.Should().Be(startOne);
        }
Пример #2
0
 public void Test_nonempty_cast()
 {
     ValidCast(() =>
     {
         NonEmptyBoundedPeriodSet x = (NonEmptyBoundedPeriodSet) new BoundedPeriodSet(startOne, startOne);
     }, true);
     ValidCast(() =>
     {
         NonEmptyBoundedPeriodSet x = (NonEmptyBoundedPeriodSet) new BoundedPeriodSet();
     }, false);
     ValidCast(() =>
     {
         NonEmptyBoundedPeriodSet x = (NonEmptyBoundedPeriodSet) new BoundedPeriodSet(startOne, startTwo);
     }, true);
     ValidCast(() =>
     {
         NonEmptyOpenPeriodSet x = (NonEmptyOpenPeriodSet) new OpenPeriodSet(startOne, startOne);
     }, true);
     ValidCast(() =>
     {
         NonEmptyOpenPeriodSet x = (NonEmptyOpenPeriodSet) new OpenPeriodSet();
     }, false);
     ValidCast(() =>
     {
         NonEmptyOpenPeriodSet x = (NonEmptyOpenPeriodSet) new OpenPeriodSet(startOne, startTwo);
     }, true);
 }
Пример #3
0
        public void TestEquals()
        {
            BoundedPeriodSet bounded = new OpenPeriodSet(startOne, startTwo);

            bounded.Should()
            .Be((BoundedPeriodSet)one);

            OpenPeriodSet open = new BoundedPeriodSet(startOne, startTwo);

            open.Should().Be(one);

            bounded = new OpenPeriodSet(startOne);
            NonEmptyBoundedPeriodSet nonEmptyBounded = (NonEmptyBoundedPeriodSet)bounded;

            nonEmptyBounded.End.Should().Be(DateTime.MaxValue);
            nonEmptyBounded.Should().Be(new BoundedPeriodSet(startOne));
            new BoundedPeriodSet(startOne).Should().Be(nonEmptyBounded);
        }
Пример #4
0
        public void Test_initialize_degenerate()
        {
            BoundedPeriodSet         degenerate;
            NonEmptyBoundedPeriodSet nonEmptyDegenerate;
            OpenPeriodSet            openDegenerate;
            NonEmptyOpenPeriodSet    nonEmptyOpenDegenerate;

            DateTime from = startOne;
            DateTime?to   = startOne;

            degenerate = new BoundedPeriodSet(from, to);
            degenerate.Boundaries.Count().Should().Be(1);

            nonEmptyDegenerate = new NonEmptyBoundedPeriodSet(startOne, startOne);
            nonEmptyDegenerate.Boundaries.Count().Should().Be(1);

            openDegenerate = new OpenPeriodSet(from, to);
            openDegenerate.Boundaries.Count().Should().Be(1);

            nonEmptyOpenDegenerate = new NonEmptyOpenPeriodSet(startOne, startOne);
            nonEmptyOpenDegenerate.Boundaries.Count().Should().Be(1);
        }