public void ShouldSuccessfullyRunTest()
{
string results = Path.GetTempPath();
Directory.GetFiles(results).Where(file => file.Contains("results_")).ToList().ForEach(File.Delete);
Directory.GetFiles(results).Where(file => file.Contains("suite_")).ToList().ForEach(File.Delete);
Directory.GetFiles(results).Where(file => file.Contains("insert_")).ToList().ForEach(File.Delete);
pfe.Setup(e => e(It.IsAny<TestRunner>(), It.IsAny<TestRunnerEventArgs>())).Callback(
(object runner, EventArgs param) =>
{
var fScore = ((TestRunnerEventArgs)param).FScore;
Assert.AreEqual(1, fScore.F1);
Assert.AreEqual(1, fScore.Precision);
Assert.AreEqual(1, fScore.Recall);
Assert.AreEqual(1, ((TestRunnerEventArgs)param).Verified);
});
nfe.Setup(e => e(It.IsAny<TestRunner>(), It.IsAny<TestRunnerEventArgs>())).Callback(
(object runner, EventArgs param) =>
{
var fScore = ((TestRunnerEventArgs)param).FScore;
Assert.AreEqual(0.6666, fScore.F1, 0.001);
Assert.AreEqual(0.5, fScore.Precision, 0.001);
Assert.AreEqual(1, fScore.Recall);
Assert.AreEqual(2, ((TestRunnerEventArgs)param).Verified);
});
tife.Setup(e => e(It.IsAny<TestRunner>(), It.IsAny<TestRunnerEventArgs>())).Verifiable();
string path = TestContext.CurrentContext.TestDirectory;
string scenario1 = string.Format("Insert,{0},IncrementalStatic,0,5115", path);
string scenario2 = string.Format("Run,{0},{1},IncrementalRandom,256,512,10,10|30|50", path, path);
string scenario3 = string.Format("Insert,{0},IncrementalStatic,0,2048", path);
string scenario4 = string.Format("Run,{0},{1},IncrementalRandom,256,512,10,10|30|50", path, path);
var testRunner = new TestRunner(
new List<string> { scenario1, scenario2, scenario3, scenario4 }.ToArray(),
modelService,
audioService,
tagService.Object,
fcb,
qcb,
results);
AttachEventHandlers(testRunner);
testRunner.Run();
pfe.Verify(e => e(It.IsAny<TestRunner>(), It.IsAny<TestRunnerEventArgs>()), Times.Exactly(6));
pfe.Verify(e => e(It.IsAny<TestRunner>(), It.IsAny<TestRunnerEventArgs>()), Times.Exactly(6));
tife.Verify(e => e(It.IsAny<TestRunner>(), It.IsAny<TestRunnerEventArgs>()), Times.Exactly(6));
var testRuns = Directory.GetFiles(results).Where(file => file.Contains("results_")).ToList();
Assert.AreEqual(6, testRuns.Count);
var testSuite = Directory.GetFiles(results).Where(file => file.Contains("suite_")).ToList();
Assert.AreEqual(1, testSuite.Count);
var testInsert = Directory.GetFiles(results).Where(file => file.Contains("insert_")).ToList();
Assert.AreEqual(2, testInsert.Count);
}