/ GUNRPG.Tests / SimulationTimeTests.cs
SimulationTimeTests.cs
 1  using GUNRPG.Core.Time;
 2  using Xunit;
 3  
 4  namespace GUNRPG.Tests;
 5  
 6  public class SimulationTimeTests
 7  {
 8      [Fact]
 9      public void CurrentTime_StartsAtZero()
10      {
11          var time = new SimulationTime();
12          Assert.Equal(0, time.CurrentTimeMs);
13      }
14  
15      [Fact]
16      public void Advance_IncreasesTime()
17      {
18          var time = new SimulationTime();
19          time.Advance(100);
20          Assert.Equal(100, time.CurrentTimeMs);
21          
22          time.Advance(50);
23          Assert.Equal(150, time.CurrentTimeMs);
24      }
25  
26      [Fact]
27      public void Advance_ThrowsOnNegativeDelta()
28      {
29          var time = new SimulationTime();
30          Assert.Throws<ArgumentException>(() => time.Advance(-10));
31      }
32  
33      [Fact]
34      public void Reset_ResetsToZero()
35      {
36          var time = new SimulationTime();
37          time.Advance(500);
38          time.Reset();
39          Assert.Equal(0, time.CurrentTimeMs);
40      }
41  }