public void AddRoomsTest() { CampfireState target = CampfireState.Instance; target.SetNameAndToken("fred", "9876543210"); target.AddRoom(1, "Room1", 12); target.AddRoom(101, "Room2", 0); List <Room> newRooms = new List <Room>(); Room rm; rm = new Room(3, "Room3"); // new room newRooms.Add(rm); rm = new Room(101, "Room2"); // duplicate newRooms.Add(rm); rm = new Room(1, "RoomOne"); // existing room, new name newRooms.Add(rm); target.AddRooms(newRooms); Assert.AreEqual(3, target.Rooms.Count); Assert.IsTrue(target.Rooms.Count(r => r.Id == 1 && r.Name == "RoomOne") == 1, "verify renamed room"); Assert.IsTrue(target.Rooms.Count(r => r.Id == 3 && r.Name == "Room3") == 1, "verify new room"); CampfireState newCampfireInfo = CampfireState_Accessor.Restore(BackingStorePath); Match(target, newCampfireInfo); }
public void SaveRestoreTest_RoomsOnly() { CampfireState target = CampfireState.Instance; target.AddRoom(1, "Room1", 12); target.AddRoom(101, "Room2", 0); Assert.AreEqual(0, target.Users.Count); Assert.AreEqual(2, target.Rooms.Count); CampfireState newCampfireInfo = CampfireState_Accessor.Restore(BackingStorePath); Match(target, newCampfireInfo); }
public void SaveRestoreTest_UsersOnly() { CampfireState target = CampfireState.Instance; target.AddUser(1, "Peter", "*****@*****.**", null); target.AddUser(2, "Jake", "*****@*****.**", "*****@*****.**"); Assert.AreEqual(2, target.Users.Count); Assert.AreEqual(0, target.Rooms.Count); CampfireState newCampfireInfo = CampfireState_Accessor.Restore(BackingStorePath); Match(target, newCampfireInfo); }
public void SaveRestoreTest_NoUsersNoRooms() { CampfireState target = CampfireState.Instance; SmokeSignalConfig sstarget = SmokeSignalConfig.Instance; sstarget.SetAndSaveNameAndToken("fred", "9876543210"); target.SetNameAndToken("fred", "9876543210"); Assert.AreEqual(0, target.Users.Count); Assert.AreEqual(0, target.Rooms.Count); CampfireState newCampfireInfo = CampfireState_Accessor.Restore(BackingStorePath); Match(target, newCampfireInfo); }
public void UpdateLastMessageIdTest() { CampfireState target = CampfireState.Instance; target.SetNameAndToken("fred", "9876543210"); target.AddRoom(1, "Room1", 12); target.AddRoom(101, "Room2", 0); target.UpdateLastMessageId(101, 1234); CampfireState.RoomInfo room = target.Rooms.First(r => r.Id == 101); Assert.AreEqual(1234, room.LastMessageId); CampfireState newCampfireInfo = CampfireState_Accessor.Restore(BackingStorePath); room = newCampfireInfo.Rooms.First(r => r.Id == 101); Assert.AreEqual(1234, room.LastMessageId); }
public void AddPendingNotification_EarlierTimeTest() { CampfireState_Accessor target = new CampfireState_Accessor(); int userId = 11; int roomId = 51; DateTime triggerTime = DateTime.Now.AddHours(1); CampfireState.UserReference ri = new CampfireState.UserReference("", new CampfireState.UserInfo(userId, "Fake User", "*****@*****.**", "")); ri.Room = new CampfireState.RoomInfo("fake room", roomId, 0); target.AddPendingNotification(ri, triggerTime); Assert.AreEqual(1, target.PendingNotifications.Count); Assert.AreEqual(triggerTime, target.PendingNotifications[0].TriggerTime); DateTime earlierTrigger = triggerTime.AddMinutes(-1); // Trying to add a notification for a same user/room, but with a earlier time will cause the pending trigger time to adjust target.AddPendingNotification(ri, earlierTrigger); Assert.AreEqual(1, target.PendingNotifications.Count); Assert.AreEqual(earlierTrigger, target.PendingNotifications[0].TriggerTime); }
public void SaveRestoreTest_UsersOnly_WithDelay() { CampfireState target = CampfireState.Instance; target.AddUser(2, "Jake", "*****@*****.**", "*****@*****.**"); Assert.AreEqual(1, target.Users.Count); Assert.AreEqual(0, target.Rooms.Count); target.UpdateUser(2, 4); CampfireState.UserInfo ui = target.Users.FirstOrDefault(u => u.Id == 2); Assert.AreEqual(4, ui.DelayInMinutes); target.AddUser(1, "Peter", "*****@*****.**", null); CampfireState newCampfireInfo = CampfireState_Accessor.Restore(BackingStorePath); Match(target, newCampfireInfo); ui = newCampfireInfo.Users.FirstOrDefault(u => u.Id == 2); Assert.AreEqual(4, ui.DelayInMinutes); ui = newCampfireInfo.Users.FirstOrDefault(u => u.Id == 1); Assert.AreEqual(-1, ui.DelayInMinutes); }