45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
|
using System;
|
|||
|
using System.Linq;
|
|||
|
using NUnit.Framework;
|
|||
|
using NzbDrone.Core.Datastore;
|
|||
|
|
|||
|
namespace NzbDrone.Core.Test.Framework
|
|||
|
{
|
|||
|
public abstract class ObjectDbTest : CoreTest
|
|||
|
{
|
|||
|
private EloqueraDb _db;
|
|||
|
protected EloqueraDb Db
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (_db == null)
|
|||
|
throw new InvalidOperationException("Test object database doesn't exists. Make sure you call WithRealDb() if you intend to use an actual database.");
|
|||
|
|
|||
|
return _db;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
protected void WithObjectDb(bool memory = true)
|
|||
|
{
|
|||
|
if (memory)
|
|||
|
{
|
|||
|
_db = new EloqueraDbFactory().CreateMemoryDb();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_db = new EloqueraDbFactory().Create(Guid.NewGuid().ToString());
|
|||
|
}
|
|||
|
|
|||
|
Mocker.SetConstant(Db);
|
|||
|
}
|
|||
|
|
|||
|
[TearDown]
|
|||
|
public void ObjectDbTearDown()
|
|||
|
{
|
|||
|
if (_db != null)
|
|||
|
{
|
|||
|
_db.Dispose();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|