public void GetOnlineUsersByRoom() { // Set user status and add two users to the repository user1.Status = 0; // This evaluates to the UserStaus enum value "Active" _repository.Add(user1); user2.Status = 2; // This evaluates to the UserStaus enum value "Offline" _repository.Add(user2); // Set the creator key for the chat room and add it to the repository room1.CreatorId = _repository.Users.First().Id; _repository.Add(room1); // Add the two users to the room _repository.AddUserRoom(user1, room1); _repository.AddUserRoom(user2, room1); // Try to get online users by room var onlineExpected = new List <ChatUser>() { user1 }; Assert.Equal(onlineExpected, _repository.GetOnlineUsers(room1).ToList()); // Now, update user2 to be online and try to get all online users _repository.GetUserById("2").Status = 0; _repository.CommitChanges(); onlineExpected.Add(user2); Assert.True(_repository.GetOnlineUsers().ToList().Contains(user1)); Console.WriteLine("\tPersistedRepositoryTest.GetOnlineUsersByRoom: Complete"); }