29 lines
868 B
C#
29 lines
868 B
C#
using NUnit.Framework;
|
|
|
|
using MultiversalDiplomacy.Model;
|
|
using MultiversalDiplomacy.Script;
|
|
|
|
namespace MultiversalDiplomacyTests;
|
|
|
|
public class ScriptTests
|
|
{
|
|
static IEnumerable<TestCaseData> DatcTestCases()
|
|
{
|
|
foreach (var path in Directory.EnumerateFiles("Scripts/DATC"))
|
|
{
|
|
yield return new TestCaseData(path)
|
|
.SetName($"{{m}}({Path.GetFileNameWithoutExtension(path)})");
|
|
}
|
|
}
|
|
|
|
[TestCaseSource(nameof(DatcTestCases))]
|
|
public void Test_DATC(string testScriptPath)
|
|
{
|
|
IScriptHandler? handler = new SetupScriptHandler(World.WithStandardMap(), strict: true);
|
|
foreach (string input in File.ReadAllLines(testScriptPath)) {
|
|
handler = handler?.HandleInput(input);
|
|
Assert.That(handler, Is.Not.Null, $"Script quit unexpectedly at \"{input}\"");
|
|
}
|
|
}
|
|
}
|