2022-02-18 20:13:23 +00:00
|
|
|
using MultiversalDiplomacy.Model;
|
|
|
|
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
|
|
|
namespace MultiversalDiplomacyTests;
|
|
|
|
|
|
|
|
public class UnitTests
|
|
|
|
{
|
|
|
|
[Test]
|
|
|
|
public void MovementTest()
|
|
|
|
{
|
2022-03-29 05:34:57 +00:00
|
|
|
World world = World.WithStandardMap();
|
2024-08-12 04:01:05 +00:00
|
|
|
Location Mun = world.Map.GetLand("Mun"),
|
|
|
|
Boh = world.Map.GetLand("Boh"),
|
|
|
|
Tyr = world.Map.GetLand("Tyr");
|
2024-08-15 23:36:50 +00:00
|
|
|
Season a0 = Season.First;
|
2024-08-15 14:54:38 +00:00
|
|
|
Unit u1 = Unit.Build(Mun.Key, a0, "Austria", UnitType.Army);
|
2022-02-18 20:13:23 +00:00
|
|
|
|
2024-08-15 20:51:41 +00:00
|
|
|
world = world.WithNewSeason(a0, out Season a1);
|
2024-08-15 13:52:08 +00:00
|
|
|
Unit u2 = u1.Next(Boh.Key, a1);
|
2022-02-18 20:13:23 +00:00
|
|
|
|
2024-08-15 20:51:41 +00:00
|
|
|
_ = world.WithNewSeason(a1, out Season a2);
|
2024-08-15 13:52:08 +00:00
|
|
|
Unit u3 = u2.Next(Tyr.Key, a2);
|
2022-02-18 20:13:23 +00:00
|
|
|
|
2024-08-15 13:52:08 +00:00
|
|
|
Assert.That(u3.Past, Is.EqualTo(u2.Key), "Missing unit past");
|
|
|
|
Assert.That(u2.Past, Is.EqualTo(u1.Key), "Missing unit past");
|
2022-02-18 20:13:23 +00:00
|
|
|
Assert.That(u1.Past, Is.Null, "Unexpected unit past");
|
|
|
|
|
2024-08-12 20:56:06 +00:00
|
|
|
Assert.That(u1.Season, Is.EqualTo(a0), "Unexpected unit season");
|
|
|
|
Assert.That(u2.Season, Is.EqualTo(a1), "Unexpected unit season");
|
|
|
|
Assert.That(u3.Season, Is.EqualTo(a2), "Unexpected unit season");
|
2022-02-18 20:13:23 +00:00
|
|
|
|
2024-08-15 13:52:08 +00:00
|
|
|
Assert.That(u1.Location, Is.EqualTo(Mun.Key), "Unexpected unit location");
|
|
|
|
Assert.That(u2.Location, Is.EqualTo(Boh.Key), "Unexpected unit location");
|
|
|
|
Assert.That(u3.Location, Is.EqualTo(Tyr.Key), "Unexpected unit location");
|
2022-02-18 20:13:23 +00:00
|
|
|
}
|
|
|
|
}
|