Files
sbox-public/engine/Sandbox.Test.Unit/Time/Time.cs
Lorenz Junglas 91f8fcf183 Speed up / parallelize tests (#3587)
- Added Sandbox.Test.Unit project (contains independent tests that can run in parallel) 
- Modify some slow/stress tests (e.g. instead of doing a million iterations settle for 10k).

Tests run almost twice as fast now.
2025-12-10 14:23:00 +01:00

72 lines
1.5 KiB
C#

namespace Timing;
[TestClass]
public class TimeTests
{
[TestMethod]
public void TimeUntilBasics()
{
Time.Update( 0, 0 );
TimeUntil tu = 0;
Assert.AreEqual( 0, (float)tu );
Assert.AreEqual( 0, tu.Relative );
Assert.AreEqual( 0, tu.Absolute );
Assert.AreEqual( (float)tu, tu.Relative );
Assert.IsTrue( tu < 1 );
Assert.IsTrue( tu >= 0 );
tu = 1;
Assert.AreEqual( 1, (float)tu );
Assert.AreEqual( 1, tu.Relative );
Assert.AreEqual( 1, tu.Absolute );
Assert.AreEqual( (float)tu, tu.Relative );
Assert.IsTrue( tu < 2.0f );
Assert.IsTrue( tu < 2 );
Assert.IsTrue( tu >= 1.0f );
Assert.IsTrue( tu >= 1 );
Time.Update( 10, 0 );
Assert.AreEqual( -9, (float)tu );
Assert.AreEqual( -9, tu.Relative );
Assert.AreEqual( 1, tu.Absolute );
tu = 5;
Assert.AreEqual( 5, (float)tu );
Assert.AreEqual( 5, tu.Relative );
Assert.AreEqual( 15, tu.Absolute );
Assert.IsTrue( tu < 10.0f );
Assert.IsTrue( tu > 4.0f );
Assert.IsTrue( tu >= 5.0f );
Assert.IsTrue( tu >= 5 );
Time.Update( 11, 0 );
Assert.AreEqual( 4, (float)tu );
Assert.AreEqual( 4, tu.Relative );
Assert.AreEqual( 15, tu.Absolute );
Assert.IsTrue( tu < 5.0f );
Assert.IsTrue( tu > 3.0f );
Assert.IsTrue( tu >= 4.0f );
Assert.IsTrue( tu >= 4 );
Time.Update( 16, 0 );
Assert.AreEqual( -1, (float)tu );
Assert.AreEqual( -1, tu.Relative );
Assert.AreEqual( 15, tu.Absolute );
Assert.IsTrue( tu < 0 );
Assert.IsTrue( tu < 0.0f );
tu = -1;
bool finished = tu < 0;
Assert.IsTrue( finished );
}
}