Beispiel #1
0
        public void IntersectWithShouldReturnIntersection()
        {
            // Arrange

            var first = new PeriodSet(new List <Period>
            {
                new Period(new DateTime(2013, 2, 1), new DateTime(2013, 11, 1)),
                new Period(new DateTime(2014, 1, 1), new DateTime(2014, 12, 1)),
                new Period(new DateTime(2014, 2, 1), new DateTime(2014, 11, 1)),
                new Period(new DateTime(2015, 2, 1), new DateTime(2015, 7, 1)),
                new Period(new DateTime(2016, 6, 1), new DateTime(2016, 11, 1))
            });
            var second = new PeriodSet(new List <Period>
            {
                new Period(new DateTime(2012, 2, 1), new DateTime(2012, 11, 1)),
                new Period(new DateTime(2014, 3, 1), new DateTime(2014, 10, 1)),
                new Period(new DateTime(2015, 6, 1), new DateTime(2015, 11, 1)),
                new Period(new DateTime(2016, 2, 1), new DateTime(2016, 7, 1))
            });
            var expected = new PeriodSet(new List <Period>
            {
                new Period(new DateTime(2014, 3, 1), new DateTime(2014, 10, 1)),
                new Period(new DateTime(2015, 6, 1), new DateTime(2015, 7, 1)),
                new Period(new DateTime(2016, 6, 1), new DateTime(2016, 7, 1))
            });

            // Act

            var actual = first.IntersectWith(second);

            // Assert

            CollectionAssert.AreEquivalent(expected.ToArray(), actual.ToArray());
        }
Beispiel #2
0
        private PeriodSet AssamblyPeriodSet(DataRow row)
        {
            PeriodSet set = new PeriodSet();

            set.ID   = row["id"] as string;
            set.Name = row["name"] as string;
            return(set);
        }
Beispiel #3
0
        public void ConstructorShouldReturnNormalizedResult()
        {
            // Arrange

            var periods = new List <Period>
            {
                new Period(new DateTime(2014, 2, 1), new DateTime(2014, 5, 1)),
                new Period(new DateTime(2014, 2, 1), new DateTime(2014, 4, 1)),
                new Period(new DateTime(2014, 1, 1), new DateTime(2014, 2, 1)),
                new Period(new DateTime(2014, 5, 1), new DateTime(2014, 6, 1)),
            };

            var expected = new Period(new DateTime(2014, 1, 1), new DateTime(2014, 6, 1));

            // Act

            var actual = new PeriodSet(periods);

            // Assert

            Assert.AreEqual(1, actual.Count());
            Assert.AreEqual(expected, actual.First());
        }