public void TestAddRemove() { AlbumPlayedDatabase albumPlayedDatabase = new AlbumPlayedDatabase(_settingsLookup[ConnectionKey]); GetTestAlbumPlayed(out var name, out AlbumPlayed albumPlayed); // Test User is not there Assert.IsNotNull(albumPlayedDatabase.LoadedItems); int numberInitialItems = albumPlayedDatabase.LoadedItems.Count; List <string> albumNames = albumPlayedDatabase.LoadedItems.ToList().Select(x => x.Album).ToList(); Assert.IsFalse(albumNames.Contains(name)); // Add new User albumPlayedDatabase.AddNewItemToDatabase(albumPlayed); albumPlayedDatabase.ConnectToDatabase(); Assert.AreNotEqual(numberInitialItems, albumPlayedDatabase.LoadedItems.Count); Assert.AreEqual(1, albumPlayedDatabase.LoadedItems.Count - numberInitialItems); List <string> albumNames2 = albumPlayedDatabase.LoadedItems.ToList().Select(x => x.Album).ToList(); Assert.IsTrue(albumNames2.Contains(name)); // Remove the new albumPlayed albumPlayedDatabase.RemoveItemFromDatabase(albumPlayed); albumPlayedDatabase.ConnectToDatabase(); Assert.AreEqual(albumPlayedDatabase.LoadedItems.Count, numberInitialItems); List <string> albumNames3 = albumPlayedDatabase.LoadedItems.ToList().Select(x => x.Album).ToList(); Assert.IsFalse(albumNames3.Contains(name)); }
private void RemoveExistingItemsForUser(string userName) { lock (Lock) { if (_albumPlayedDatabase.LoadedItems.Any(x => x.UserName == userName)) { List <AlbumPlayed> itemsToRemove = _albumPlayedDatabase.LoadedItems.Where(x => x.UserName == userName).ToList(); if (itemsToRemove.Any()) { foreach (AlbumPlayed item in itemsToRemove) { _albumPlayedDatabase.RemoveItemFromDatabase(item); } } } } }