/ 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 }