feat: basic behaviour tests
This commit is contained in:
parent
3c23ac7f1e
commit
ac0eac3fbb
71
Engine.Tests/Behaviour_Tests.cs
Normal file
71
Engine.Tests/Behaviour_Tests.cs
Normal file
@ -0,0 +1,71 @@
|
||||
using Syntriax.Engine.Core;
|
||||
|
||||
namespace Engine.Tests;
|
||||
|
||||
public class Behaviour_Tests
|
||||
{
|
||||
private static IUniverseObject CreateUniverseObject()
|
||||
{
|
||||
UniverseObject universeObject = new();
|
||||
BehaviourController behaviourController = new();
|
||||
|
||||
universeObject.Assign(new StateEnable());
|
||||
universeObject.StateEnable.Assign(universeObject);
|
||||
|
||||
behaviourController.Assign(new StateEnable());
|
||||
behaviourController.StateEnable.Assign(behaviourController);
|
||||
|
||||
behaviourController.Assign(universeObject);
|
||||
universeObject.Assign(behaviourController);
|
||||
|
||||
universeObject.Initialize();
|
||||
behaviourController.Initialize();
|
||||
|
||||
return universeObject;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BehaviourActive()
|
||||
{
|
||||
IUniverseObject universeObject = CreateUniverseObject();
|
||||
|
||||
BehaviourX behaviourX = universeObject.BehaviourController.AddBehaviour<BehaviourX>();
|
||||
|
||||
Assert.True(behaviourX.IsActive);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BehaviourNotActiveOnDisabled()
|
||||
{
|
||||
IUniverseObject universeObject = CreateUniverseObject();
|
||||
|
||||
BehaviourX behaviourX = universeObject.BehaviourController.AddBehaviour<BehaviourX>();
|
||||
behaviourX.StateEnable.Enabled = false;
|
||||
|
||||
Assert.False(behaviourX.IsActive);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BehaviourNotActiveOnBehaviourControllerDisabled()
|
||||
{
|
||||
IUniverseObject universeObject = CreateUniverseObject();
|
||||
|
||||
BehaviourX behaviourX = universeObject.BehaviourController.AddBehaviour<BehaviourX>();
|
||||
universeObject.BehaviourController.StateEnable.Enabled = false;
|
||||
|
||||
Assert.False(behaviourX.IsActive);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BehaviourNotActiveOnUniverseObjectDisabled()
|
||||
{
|
||||
IUniverseObject universeObject = CreateUniverseObject();
|
||||
|
||||
BehaviourX behaviourX = universeObject.BehaviourController.AddBehaviour<BehaviourX>();
|
||||
universeObject.StateEnable.Enabled = false;
|
||||
|
||||
Assert.False(behaviourX.IsActive);
|
||||
}
|
||||
|
||||
public class BehaviourX : BehaviourBase;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user