using Persistence;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace UnitTests {
///
///This is a abstract test class for all HeuristicLab unit tests
///
public abstract class AbstractHeuristicLabTest {
///
/// shared database for all test methods
///
protected Persistence.DataClassesDataContext db;
///
/// constructor creates database connection for all other test methods
///
public AbstractHeuristicLabTest() {
Persistence.DatabaseUtil.ProductionDatabase = false;
db = Persistence.DatabaseUtil.createDataClassesDataContext();
}
///
/// creates and opens a local database out of the DataClasses and checks connection state
///
[TestInitialize()]
public virtual void updateDBConnection() {
Assert.IsNotNull(db);
DatabaseUtil.createDatabase(db);
if (db.Connection.State != System.Data.ConnectionState.Open) {
db.Connection.Open();
}
Assert.AreEqual(System.Data.ConnectionState.Open, db.Connection.State);
}
///
/// closes db connection
///
[TestCleanup()]
public virtual void closeDBConnection() {
if (db.Connection.State == System.Data.ConnectionState.Open) {
db.Connection.Close();
}
Assert.AreEqual(System.Data.ConnectionState.Closed, db.Connection.State);
}
}
}