using System; using System.Collections.Generic; using System.Linq; using NUnit.Framework; using NzbDrone.Core.Download.TrackedDownloads; using NzbDrone.Core.Queue; using NzbDrone.Core.Test.Framework; using FizzWare.NBuilder; using FluentAssertions; using NzbDrone.Core.Movies; using NzbDrone.Core.Parser.Model; namespace NzbDrone.Core.Test.QueueTests { [TestFixture] public class QueueServiceFixture : CoreTest { private List _trackedDownloads; [SetUp] public void SetUp() { var downloadItem = Builder.CreateNew() .With(v => v.RemainingTime = TimeSpan.FromSeconds(10)) .Build(); var series = Builder.CreateNew() .Build(); var remoteEpisode = Builder.CreateNew() .With(r => r.Movie = series) .With(r => r.ParsedMovieInfo = new ParsedMovieInfo()) .Build(); _trackedDownloads = Builder.CreateListOfSize(1) .All() .With(v => v.DownloadItem = downloadItem) .With(v => v.RemoteMovie = remoteEpisode) .Build() .ToList(); } [Test] public void queue_items_should_have_id() { Subject.Handle(new TrackedDownloadRefreshedEvent(_trackedDownloads)); var queue = Subject.GetQueue(); queue.Should().HaveCount(1); queue.All(v => v.Id > 0).Should().BeTrue(); var distinct = queue.Select(v => v.Id).Distinct().ToArray(); distinct.Should().HaveCount(1); } } }