sonarr-repo-only/NzbDrone.Core.Test/MockLib.cs

57 lines
1.5 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Moq;
using NzbDrone.Core.Providers;
2010-09-29 17:19:18 +00:00
using SubSonic.DataProviders;
using SubSonic.Repository;
namespace NzbDrone.Core.Test
{
/// <summary>
/// Provides the standard Mocks needed for a typical test
/// </summary>
static class MockLib
{
public static string[] StandardSeries
{
get { return new string[] { "C:\\TV\\The Simpsons", "C:\\TV\\Family Guy" }; }
}
2010-09-29 17:19:18 +00:00
2010-09-30 06:59:00 +00:00
public static IRepository EmptyRepository
2010-09-29 17:19:18 +00:00
{
get
{
2010-09-30 06:59:00 +00:00
var provider = ProviderFactory.GetProvider("Data Source=" + Guid.NewGuid() + ".testdb;Version=3;New=True", "System.Data.SQLite");
2010-09-29 17:19:18 +00:00
return new SimpleRepository(provider, SimpleRepositoryOptions.RunMigrations);
}
}
public static IConfigProvider StandardConfig
{
get
{
var mock = new Mock<IConfigProvider>();
mock.SetupGet(c => c.SeriesRoot).Returns("C:\\");
return mock.Object;
}
}
public static IDiskProvider StandardDisk
{
get
{
var mock = new Mock<IDiskProvider>();
mock.Setup(c => c.GetDirectories(It.IsAny<String>())).Returns(StandardSeries);
mock.Setup(c => c.Exists(It.Is<String>(d => StandardSeries.Contains(d)))).Returns(true);
return mock.Object;
}
}
}
}