From 0a7f7fc1fc4495922dd22a69530998d92883e61a Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sat, 9 Apr 2011 14:35:13 -0700 Subject: [PATCH] Added tests for RootDirProvider. --- NzbDrone.Core.Test/NzbDrone.Core.Test.csproj | 1 + NzbDrone.Core.Test/RootDirProviderTest.cs | 121 +++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 NzbDrone.Core.Test/RootDirProviderTest.cs diff --git a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj index 26c8918d0..64087ede8 100644 --- a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj +++ b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj @@ -93,6 +93,7 @@ Code + diff --git a/NzbDrone.Core.Test/RootDirProviderTest.cs b/NzbDrone.Core.Test/RootDirProviderTest.cs new file mode 100644 index 000000000..20f656847 --- /dev/null +++ b/NzbDrone.Core.Test/RootDirProviderTest.cs @@ -0,0 +1,121 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using AutoMoq; +using Gallio.Framework; +using MbUnit.Framework; +using MbUnit.Framework.ContractVerifiers; +using Moq; +using NzbDrone.Core.Providers; +using NzbDrone.Core.Repository; +using SubSonic.Repository; + +namespace NzbDrone.Core.Test +{ + [TestFixture] + public class RootDirProviderTest + { + [Test] + public void GetRootDirs() + { + //Setup + var sonicRepo = MockLib.GetEmptyRepository(); + sonicRepo.Add(new RootDir { Path = @"C:\TV" }); + sonicRepo.Add(new RootDir { Path = @"C:\TV2" }); + + var mocker = new AutoMoqer(); + + mocker.GetMock() + .Setup(f => f.All()) + .Returns(sonicRepo.All); + + //Act + var result = mocker.Resolve().GetAll(); + + //Assert + Assert.AreEqual(result.Count, 2); + } + + [Test] + public void AddRootDir() + { + //Setup + var mocker = new AutoMoqer(); + mocker.SetConstant(MockLib.GetEmptyRepository()); + + string path = @"C:\TV\"; + + //Act + var rootDirProvider = mocker.Resolve(); + rootDirProvider.Add(new RootDir{ Path = path }); + + + //Assert + var rootDirs = rootDirProvider.GetAll(); + Assert.IsNotEmpty(rootDirs); + Assert.Count(1, rootDirs); + Assert.AreEqual(path, rootDirs.First().Path); + } + + [Test] + public void UpdateRootDir() + { + //Setup + var mocker = new AutoMoqer(); + mocker.SetConstant(MockLib.GetEmptyRepository()); + + string path = @"C:\TV2"; + + //Act + var rootDirProvider = mocker.Resolve(); + rootDirProvider.Add(new RootDir { Path = @"C:\TV" }); + rootDirProvider.Update(new RootDir { Id = 1, Path = path }); + + //Assert + var rootDirs = rootDirProvider.GetAll(); + Assert.IsNotEmpty(rootDirs); + Assert.Count(1, rootDirs); + Assert.AreEqual(path, rootDirs.First().Path); + } + + [Test] + public void RemoveRootDir() + { + //Setup + var mocker = new AutoMoqer(); + mocker.SetConstant(MockLib.GetEmptyRepository()); + + string path = @"C:\TV2"; + + //Act + var rootDirProvider = mocker.Resolve(); + rootDirProvider.Add(new RootDir { Path = @"C:\TV" }); + rootDirProvider.Remove(1); + + //Assert + var rootDirs = rootDirProvider.GetAll(); + Assert.Count(0, rootDirs); + } + + [Test] + public void GetRootDir() + { + //Setup + var mocker = new AutoMoqer(); + mocker.SetConstant(MockLib.GetEmptyRepository()); + + int id = 1; + string path = @"C:\TV"; + + //Act + var rootDirProvider = mocker.Resolve(); + rootDirProvider.Add(new RootDir { Id = id, Path = path }); + + //Assert + var rootDir = rootDirProvider.GetRootDir(id); + Assert.AreEqual(1, rootDir.Id); + Assert.AreEqual(path, rootDir.Path); + } + } +}