|
|
|
|
|
|
using NUnit.Framework; |
|
|
|
using Unity.MLAgents.SideChannels; |
|
|
|
using UnityEngine; |
|
|
|
|
|
|
|
namespace Unity.MLAgents.Tests |
|
|
|
{ |
|
|
|
public class EngineConfigurationChannelTests |
|
|
|
{ |
|
|
|
float m_OldTimeScale = 1.0f; |
|
|
|
|
|
|
|
[SetUp] |
|
|
|
public void Setup() |
|
|
|
{ |
|
|
|
m_OldTimeScale = Time.timeScale; |
|
|
|
} |
|
|
|
|
|
|
|
[TearDown] |
|
|
|
public void TearDown() |
|
|
|
{ |
|
|
|
Time.timeScale = m_OldTimeScale; |
|
|
|
} |
|
|
|
|
|
|
|
[Test] |
|
|
|
public void TestTimeScaleClamping() |
|
|
|
{ |
|
|
|
OutgoingMessage pythonMsg = new OutgoingMessage(); |
|
|
|
pythonMsg.WriteInt32((int)EngineConfigurationChannel.ConfigurationType.TimeScale); |
|
|
|
pythonMsg.WriteFloat32(1000f); |
|
|
|
|
|
|
|
var sideChannel = new EngineConfigurationChannel(); |
|
|
|
sideChannel.ProcessMessage(pythonMsg.ToByteArray()); |
|
|
|
|
|
|
|
#if UNITY_EDITOR
|
|
|
|
// Should be clamped
|
|
|
|
Assert.AreEqual(100.0f, Time.timeScale); |
|
|
|
#else
|
|
|
|
// Not sure we can run this test from a player, but just in case, shouldn't clamp.
|
|
|
|
Assert.AreEqual(1000.0f, Time.timeScale); |
|
|
|
#endif
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |