using System; using System.Collections.Generic; using System.Linq; using FizzWare.NBuilder; using Moq; using NUnit.Framework; using NzbDrone.Common.Extensions; using NzbDrone.Core.MediaFiles; using NzbDrone.Core.Music; using NzbDrone.Core.Test.Framework; namespace NzbDrone.Core.Test.MusicTests { [TestFixture] public class RefreshTrackServiceFixture : CoreTest { private AlbumRelease _release; private List _allTracks; [SetUp] public void Setup() { _release = Builder.CreateNew().Build(); _allTracks = Builder.CreateListOfSize(20) .All() .BuildList(); } [Test] public void updated_track_should_not_have_null_album_release() { var add = new List(); var update = new List(); var merge = new List>(); var delete = new List(); var upToDate = new List(); upToDate.AddRange(_allTracks.Take(10)); var toUpdate = _allTracks[10].JsonClone(); toUpdate.Title = "title to update"; toUpdate.AlbumRelease = _release; update.Add(toUpdate); Subject.RefreshTrackInfo(add, update, merge, delete, upToDate, _allTracks, false); Mocker.GetMock() .Verify(v => v.SyncTags(It.Is>(x => x.Count == 1 && x[0].AlbumRelease != null && x[0].AlbumRelease.IsLoaded == true))); } } }