56 lines
1.6 KiB
C#
56 lines
1.6 KiB
C#
using Godot;
|
|
using GdUnit4;
|
|
using static GdUnit4.Assertions;
|
|
using Movementtests.systems;
|
|
|
|
namespace Movementtests.tests;
|
|
|
|
[TestSuite, RequireGodotRuntime]
|
|
public class DashSystemUnitTest
|
|
{
|
|
private DashSystem _dashSystem;
|
|
|
|
[BeforeTest]
|
|
public void SetupTest()
|
|
{
|
|
_dashSystem = new DashSystem();
|
|
|
|
_dashSystem.DashCast3D = new ShapeCast3D();
|
|
_dashSystem.AddChild(_dashSystem.DashCast3D);
|
|
|
|
_dashSystem._dashCastDrop = new ShapeCast3D();
|
|
_dashSystem.AddChild(_dashSystem._dashCastDrop);
|
|
|
|
_dashSystem._dashTarget = new MeshInstance3D();
|
|
_dashSystem.AddChild(_dashSystem._dashTarget);
|
|
|
|
_dashSystem._dashDropIndicator = new MeshInstance3D();
|
|
_dashSystem.AddChild(_dashSystem._dashDropIndicator);
|
|
|
|
_dashSystem._dashDropLocationIndicator = new MeshInstance3D();
|
|
_dashSystem.AddChild(_dashSystem._dashDropLocationIndicator);
|
|
}
|
|
|
|
[AfterTest]
|
|
public void CleanupTest()
|
|
{
|
|
_dashSystem?.Free();
|
|
}
|
|
|
|
[TestCase]
|
|
public void TestStopPreparingDash()
|
|
{
|
|
_dashSystem.CanDashThroughTarget = true;
|
|
_dashSystem._dashTarget.Visible = true;
|
|
_dashSystem._dashDropIndicator.Visible = true;
|
|
_dashSystem._dashDropLocationIndicator.Visible = true;
|
|
|
|
_dashSystem.StopPreparingDash();
|
|
|
|
AssertBool(_dashSystem.CanDashThroughTarget).IsFalse();
|
|
AssertBool(_dashSystem._dashTarget.Visible).IsFalse();
|
|
AssertBool(_dashSystem._dashDropIndicator.Visible).IsFalse();
|
|
AssertBool(_dashSystem._dashDropLocationIndicator.Visible).IsFalse();
|
|
}
|
|
}
|