using AutoMoq; using FizzWare.NBuilder; using Moq; using NUnit.Framework; using NzbDrone.Common; using NzbDrone.Common.Model; using NzbDrone.Update.Providers; namespace NzbDrone.Update.Test { [TestFixture] class UpdateProviderStartTest { AutoMoqer mocker = new AutoMoqer(); [SetUp] public void Setup() { mocker = new AutoMoqer(); } [Test] public void should_stop_nzbdrone_service_if_installed() { mocker.GetMock() .Setup(c => c.ServiceExist(ServiceProvider.NZBDRONE_SERVICE_NAME)) .Returns(true); //Act mocker.Resolve().Start(null); //Assert mocker.GetMock().Verify(c => c.Stop(ServiceProvider.NZBDRONE_SERVICE_NAME), Times.Once()); mocker.VerifyAllMocks(); } [Test] public void should_kill_nzbdrone_process_if_running() { var proccesses = Builder.CreateListOfSize(2).Build(); mocker.GetMock() .Setup(c => c.GetProcessByName(ProcessProvider.NzbDroneProccessName)) .Returns(proccesses); //Act mocker.Resolve().Start(null); //Assert mocker.GetMock().Verify(c => c.Kill(proccesses[0].Id), Times.Once()); mocker.GetMock().Verify(c => c.Kill(proccesses[1].Id), Times.Once()); mocker.VerifyAllMocks(); } } }