Ejemplo n.º 1
0
        public void TestSerialize()
        {
            var db = new SchedulesDb();

            var id1   = db.Add();
            var day11 = new DateTime(2015, 11, 23);
            var day12 = new DateTime(2015, 11, 29);
            var day13 = new DateTime(2015, 11, 30);
            var day14 = new DateTime(2015, 12, 06);

            db.AddEntry(id1, day11, day12, DayOfWeek.Monday, DayOfWeek.Saturday);
            db.AddEntry(id1, day13, day14, DayOfWeek.Tuesday, DayOfWeek.Thursday, DayOfWeek.Friday);

            var id2   = db.Add();
            var day21 = new DateTime(2015, 09, 29);
            var day22 = new DateTime(2015, 10, 05);
            var day23 = new DateTime(2015, 10, 06);
            var day24 = new DateTime(2015, 10, 06);

            db.AddEntry(id2, day21, day22, DayOfWeek.Monday, DayOfWeek.Saturday);
            db.AddEntry(id2, day23, day24, DayOfWeek.Tuesday, DayOfWeek.Thursday, DayOfWeek.Friday);

            var size = 1 + 8 + (6 * 4);

            using (var stream = new MemoryStream())
            {
                Assert.AreEqual(size, db.SizeInBytes);
                Assert.AreEqual(size, db.Serialize(stream));
            }
        }
Ejemplo n.º 2
0
        public void TestDeserialization()
        {
            var db = new SchedulesDb();

            var id1   = db.Add();
            var day11 = new DateTime(2015, 11, 23);
            var day12 = new DateTime(2015, 11, 29);
            var day13 = new DateTime(2015, 11, 30);
            var day14 = new DateTime(2015, 12, 06);

            db.AddEntry(id1, day11, day12, DayOfWeek.Monday, DayOfWeek.Saturday);
            db.AddEntry(id1, day13, day14, DayOfWeek.Tuesday, DayOfWeek.Thursday, DayOfWeek.Friday);

            var id2   = db.Add();
            var day21 = new DateTime(2015, 09, 29);
            var day22 = new DateTime(2015, 10, 05);
            var day23 = new DateTime(2015, 10, 06);
            var day24 = new DateTime(2015, 10, 06);

            db.AddEntry(id2, day21, day22, DayOfWeek.Monday, DayOfWeek.Saturday);
            db.AddEntry(id2, day23, day24, DayOfWeek.Tuesday, DayOfWeek.Thursday, DayOfWeek.Friday);

            using (var stream = new MemoryStream())
            {
                db.Serialize(stream);

                stream.Seek(0, SeekOrigin.Begin);
                db = SchedulesDb.Deserialize(stream);

                var enumerator = db.GetEnumerator();
                Assert.IsTrue(enumerator.MoveTo(id1));

                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 22)));
                Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 11, 23)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 24)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 25)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 26)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 27)));
                Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 11, 28)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 29)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 30)));
                Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 12, 01)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 02)));
                Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 12, 03)));
                Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 12, 04)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 05)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 06)));
                Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 07)));
            }
        }
Ejemplo n.º 3
0
        public void TestAdd()
        {
            var db = new SchedulesDb();

            var id  = db.Add();
            var day = new DateTime(2015, 11, 23);

            db.AddEntry(id, day, day.AddDays(14), DayOfWeek.Monday, DayOfWeek.Saturday);

            var enumerator = db.GetEnumerator();

            enumerator.MoveTo(id);
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 11, 23)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 11, 28)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 24)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 16)));
        }
Ejemplo n.º 4
0
        public void TestEnumerator()
        {
            var db = new SchedulesDb();

            var id1   = db.Add();
            var day11 = new DateTime(2015, 11, 23);
            var day12 = new DateTime(2015, 11, 29);
            var day13 = new DateTime(2015, 11, 30);
            var day14 = new DateTime(2015, 12, 06);

            db.AddEntry(id1, day11, day12, DayOfWeek.Monday, DayOfWeek.Saturday);
            db.AddEntry(id1, day13, day14, DayOfWeek.Tuesday, DayOfWeek.Thursday, DayOfWeek.Friday);

            var id2   = db.Add();
            var day21 = new DateTime(2015, 09, 29);
            var day22 = new DateTime(2015, 10, 05);
            var day23 = new DateTime(2015, 10, 06);
            var day24 = new DateTime(2015, 10, 06);

            db.AddEntry(id2, day21, day22, DayOfWeek.Monday, DayOfWeek.Saturday);
            db.AddEntry(id2, day23, day24, DayOfWeek.Tuesday, DayOfWeek.Thursday, DayOfWeek.Friday);

            var enumerator = db.GetEnumerator();

            enumerator.MoveTo(id1);
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 22)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 11, 23)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 24)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 25)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 26)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 27)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 11, 28)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 29)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 30)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 12, 01)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 02)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 12, 03)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 12, 04)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 05)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 06)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 07)));

            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 09, 28)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 09, 29)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 09, 30)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 01)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 02)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 03)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 04)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 05)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 06)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 07)));

            enumerator.MoveTo(id2);
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 22)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 23)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 24)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 25)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 26)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 27)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 28)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 29)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 11, 30)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 01)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 02)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 03)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 04)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 05)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 06)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 12, 07)));

            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 09, 28)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 09, 29)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 09, 30)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 01)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 02)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 10, 03)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 04)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 10, 05)));
            Assert.IsTrue(enumerator.DateIsSet(new DateTime(2015, 10, 06)));
            Assert.IsFalse(enumerator.DateIsSet(new DateTime(2015, 10, 07)));
        }