public void AddAndRemoveTwoUsersFromOneRoom() { // Add a user to the repository _repository.Add(user1); _repository.Add(user2); // Set the creator key and add the chat room to the repository room1.CreatorId = _repository.Users.First().Id; _repository.Add(room1); // Add relationship between user and room _repository.AddUserRoom(user1, room1); _repository.AddUserRoom(user2, room1); // Verify the relationships were added properly Assert.True(user1.Rooms.Select(u => u.ChatRoomKeyNavigation).Contains(room1)); Assert.True(room1.Users.Select(r => r.ChatUserKeyNavigation).Contains(user1)); Assert.True(_repository.IsUserInRoom(user1, room1)); Assert.True(user2.Rooms.Select(u => u.ChatRoomKeyNavigation).Contains(room1)); Assert.True(room1.Users.Select(r => r.ChatUserKeyNavigation).Contains(user2)); Assert.True(_repository.IsUserInRoom(user2, room1)); // Remove user2 from the room _repository.RemoveUserRoom(user2, room1); // Verify the relationship was removed and that user1 is still in the room Assert.False(user2.Rooms.Select(u => u.ChatRoomKeyNavigation).Contains(room1)); Assert.False(room1.Users.Select(r => r.ChatUserKeyNavigation).Contains(user2)); Assert.False(_repository.IsUserInRoom(user2, room1)); Assert.True(_repository.IsUserInRoom(user1, room1)); Console.WriteLine("\tPersistedRepositoryTest.AddAndRemoveTwoUsersFromOneRoom: Complete"); }