using System; using System.Collections.Generic; using System.Linq; using System.Text; using FizzWare.NBuilder; using FluentAssertions; using NUnit.Framework; using NzbDrone.Core.Model; using NzbDrone.Core.Providers; using NzbDrone.Core.Repository; using NzbDrone.Core.Test.Framework; namespace NzbDrone.Core.Test.ProviderTests.DownloadProviderTests { [TestFixture] public class ContainsRecentEpisode : SqlCeTest { private Episode _recentEpisode; private Episode _oldEpisode; [SetUp] public void Setup() { _recentEpisode = Builder .CreateNew() .With(e => e.AirDate = DateTime.Today) .Build(); _oldEpisode = Builder .CreateNew() .With(e => e.AirDate = DateTime.Today.AddDays(-365)) .Build(); } [Test] public void should_return_true_if_episode_aired_recently() { var epr = Builder .CreateNew() .With(p => p.Episodes = new List { _recentEpisode }) .Build(); Mocker.Resolve().ContainsRecentEpisode(epr).Should().BeTrue(); } [Test] public void should_return_true_if_one_episode_aired_recently() { var epr = Builder .CreateNew() .With(p => p.Episodes = new List { _recentEpisode, _oldEpisode }) .Build(); Mocker.Resolve().ContainsRecentEpisode(epr).Should().BeTrue(); } [Test] public void should_return_false_if_episode_did_not_air_recently() { var epr = Builder .CreateNew() .With(p => p.Episodes = new List { _oldEpisode }) .Build(); Mocker.Resolve().ContainsRecentEpisode(epr).Should().BeFalse(); } [Test] public void should_return_false_if_no_episode_aired_recently() { var epr = Builder .CreateNew() .With(p => p.Episodes = new List { _oldEpisode, _oldEpisode }) .Build(); Mocker.Resolve().ContainsRecentEpisode(epr).Should().BeFalse(); } } }