37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using BumpCombat.Constants;
|
|
using BumpCombat.Defense.Comparison;
|
|
using NUnit.Framework;
|
|
|
|
namespace BumpCombat.Tests
|
|
{
|
|
public sealed class Defense25DRunLayoutTests
|
|
{
|
|
[Test]
|
|
public void SameSeedSelectsTheSameValidNonCentralHomeAndCreatesTwelveRoutesAndEighteenPads()
|
|
{
|
|
Defense25DBattlefieldDefinition battlefield = Defense25DBattlefieldDefinition.CreateDefault();
|
|
|
|
Assert.That(battlefield.TryCreateLayout(7319, out Defense25DRunLayout first, out string firstError),
|
|
Is.True, firstError);
|
|
Assert.That(battlefield.TryCreateLayout(7319, out Defense25DRunLayout replay, out string replayError),
|
|
Is.True, replayError);
|
|
|
|
Assert.That(replay.HomePosition, Is.EqualTo(first.HomePosition));
|
|
Assert.That(first.HomePosition, Is.Not.EqualTo(UnityEngine.Vector2.zero));
|
|
Assert.That(first.RouteCount, Is.EqualTo(12));
|
|
Assert.That(first.PadCount, Is.EqualTo(18));
|
|
Assert.That(first.PlayerStart, Is.EqualTo(first.HomePosition + first.PlayerStartOffset));
|
|
}
|
|
|
|
[Test]
|
|
public void LayoutFailsWhenNoHomeCandidateHasTheRequiredBranchClearance()
|
|
{
|
|
Defense25DBattlefieldDefinition battlefield = Defense25DBattlefieldDefinition.CreateDefault();
|
|
battlefield.MinBranchClearance = 1000f;
|
|
|
|
Assert.That(battlefield.TryCreateLayout(1, out _, out string error), Is.False);
|
|
Assert.That(error, Is.Not.Empty);
|
|
}
|
|
}
|
|
}
|