예제 #1
0
 public void TestGetCalendar()
 {
     Room r = new Room { Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics")), RoomNumber = "RES-PHAR-129" };
     r.Load(r.Uri);
     IICalendar cal = r.GetCalendar();
     Assert.AreEqual<string>("Classroom Renovation Project", cal.Events.First().Summary);
     Assert.AreNotEqual<string>("jhbdvyceri", cal.Events.First().Summary); //makes sure that any arbitrary string matches the summary
 }
예제 #2
0
 public void TestFreeBusyToString()
 {
     SystemTime.Now = () => new DateTime(2013, 8, 1, 1, 0, 0);
     Room r = new Room { Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics")), RoomNumber = "RES-PHAR-129" };
     r.Load(r.Uri);
     Assert.AreEqual("Busy for 2 hours, and 45 minutes", r.FreeBusyToString(new DateTime(2013, 8, 1, 10, 15, 0)).ToString());
     //This may be best said as "free for about 4 days, and 21 hours
     Assert.AreEqual("Free for 4 days, and 21 hours", r.FreeBusyToString(new DateTime(2013, 8, 1, 13, 15, 0)).ToString());
 }
예제 #3
0
        public void TestBusyTimesFromMinFuture()
        {
            SystemTime.Now = () => new DateTime(2013, 8, 1, 1, 0, 0);
            Room r = new Room { Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics")), RoomNumber = "RES-PHAR-129" };
            r.Load(r.Uri);
            SystemTime.Now = () => new DateTime(2013, 8, 8, 15, 0, 0);
            IEnumerable<SimpleEvent> busyTimes = r.BusyTimes(120);

            //Assert
            Assert.AreEqual(busyTimes.Count(), 1);
            Assert.AreEqual(busyTimes.FirstOrDefault().EventStart, new DateTime(2013, 8, 8, 15, 30, 0));
        }
        public void TestICSFileLoadAll()
        {
            List<Room> myRooms = new Room[]{
            new Room
                {
                    RoomNumber = "RES-PHAR-129",
                    Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics"))
                }
            }.ToList();

            RoomInfo ri = new RoomInfo(myRooms);
            Assert.IsTrue(ri.LoadAll());
        }
예제 #5
0
        public void TestSimpleCache()
        {
            Room r = new Room { Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics")), RoomNumber = "RES-PHAR-129" };
            r.Load(r.Uri);

            List<SimpleEvent> se;

            SystemTime.Now = () => DateTime.Today; //without this line, this test fails if it runs after another test because of some weird bug
            se = r.CacheToSimple();
            Assert.AreEqual<int>(0, se.Count); //should evaluate to true after 9/4/2013 because that day is the last event in the fixture
            se.Clear();

            se = r.CacheToSimple(new DateTime(2013, 8, 8, 17, 0, 0));
            Assert.AreEqual<int>(2, se.Count);
            se.Clear();

            se = r.CacheToSimple(new DateTime(2013, 8, 26), new DateTime(2013, 9, 4));
            Assert.AreEqual<int>(5, se.Count);
            se.Clear();

            se = r.CacheToSimple(new DateTime(2013, 8, 1), 6);
            Assert.AreEqual<int>(2, se.Count);
        }
        public void TestSerialization()
        {
            var myTestFile = "../../fixture/testserialization.xml";

            File.Delete(myTestFile);
            List<Room> myRooms = new Room[]
            {
                new Room
                {
                    RoomNumber = "RES-PHAR-129",
                    Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics"))
                },
                new Room
                {
                    RoomNumber = "RES-PHAR-226",
                    Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics"))
                }
            }.ToList();

            RoomInfo ri = new RoomInfo(myRooms);
            ri.LoadAll();
            ri.SerializeCacheToFile(myTestFile);

            Assert.IsTrue(File.Exists(myTestFile));

            // Now load...
            RoomInfo ri2 = new RoomInfo(myRooms);
            ri.DeserializeCacheFromFile(myTestFile);

            //Longer assert...We should have the same output
            Assert.AreEqual(ri.GetRoomByName("RES-PHAR-129").BusyTimes(), ri2.GetRoomByName("RES-PHAR-129").BusyTimes());
            Assert.AreEqual(ri.GetRoomByName("RES-PHAR-226").BusyTimes(), ri2.GetRoomByName("RES-PHAR-226").BusyTimes());

            //Cleanup
            File.Delete(myTestFile);
        }
예제 #7
0
 public void TestFreeBusyToStringException()
 {
     Room r = new Room { Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics")), RoomNumber = "RES-PHAR-129" };
     //Missing load function here...
     Assert.AreEqual("", r.FreeBusyToString(new DateTime(2013, 8, 1, 10, 15, 0)));
 }
예제 #8
0
        public void TestUri()
        {
            Room r = new Room { Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics")), RoomNumber = "RES-PHAR-129" };
            Assert.AreEqual<Uri>(new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics")), r.Uri); //tests getter

            r.Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-226.ics"));
            Assert.AreEqual<Uri>(new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-226.ics")), r.Uri); //tests setter
        }
예제 #9
0
        public void TestSimpleCacheException()
        {
            Room r = new Room { Uri = new Uri(Path.Combine(Directory.GetCurrentDirectory(), "../../fixture/RES-PHAR-129.ics")), RoomNumber = "RES-PHAR-129" };
            //r.Load(r.Uri);

            List<SimpleEvent> se = r.CacheToSimple(new DateTime(2013, 8, 8, 17, 0, 0));
        }
 public void TestLoadAllOfNoRooms()
 {
     List<Room> myRooms = new Room[] {}.ToList();
     RoomInfo ri = new RoomInfo(myRooms);
     Assert.IsFalse(ri.LoadAll());
 }