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); }
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); }
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); }
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); }