public void TrapIsNotReplacedPerGetTrapCall() { var speedTrap = new SpeedTrap(); var trap = speedTrap.GetTrap(TrapIsNotReplacedPerGetTrapCall); var run = trap.StartRun(); run.Stop(); Assert.NotEmpty(trap.Runs); trap = speedTrap.GetTrap(TrapIsNotReplacedPerGetTrapCall); Assert.NotEmpty(trap.Runs); }
public void SpeedTrapReturnsAccurateTapNameByAction() { var speedTrap = new SpeedTrap(); var trap = speedTrap.GetTrap(SpeedTrapReturnsAccurateTapNameByAction); Assert.NotEmpty(speedTrap.Traps); Assert.Equal(nameof(SpeedTrapReturnsAccurateTapNameByAction), trap.Name); Assert.NotNull(trap.Action); }
public void TrapRunWorksWithAction() { var speedTrap = new SpeedTrap(); var trap = speedTrap.GetTrap("test-trap"); trap.Run(() => _testOutputHelper.WriteLine("Hello World!")); Assert.NotNull(trap.LastRun); Assert.NotEqual(TimeSpan.Zero, trap.LastRun?.Duration); }
public void SpeedTrapReturnsAccurateTapNameByNameWithAction() { const string trapName = "trap1"; var speedTrap = new SpeedTrap(); var trap = speedTrap.GetTrap(trapName, SpeedTrapReturnsAccurateTapNameByNameWithAction); Assert.NotEmpty(speedTrap.Traps); Assert.Equal(trapName, trap.Name); Assert.NotNull(trap.Action); }
public async Task TrapRunsWithAsyncFunc() { var speedTrap = new SpeedTrap(); var trap = speedTrap.GetTrap("test-trap"); var number = await trap.Run(() => Task.FromResult(12345)); Assert.NotNull(trap.LastRun); Assert.NotEqual(TimeSpan.Zero, trap.LastRun?.Duration); Assert.Equal(12345, number); }
public void TrapRunsWithBlockingFunc() { var speedTrap = new SpeedTrap(); var trap = speedTrap.GetTrap("test-trap"); var number = trap.Run(() => 12345); Assert.NotNull(trap.LastRun); Assert.NotEqual(TimeSpan.Zero, trap.LastRun?.Duration); Assert.Equal(12345, number); }
public void SpeedTrapRetainsTrapRecords() { var speedTrap = new SpeedTrap(); Assert.NotNull(speedTrap); Assert.Empty(speedTrap.Traps); var trap = speedTrap.GetTrap(SpeedTrapRetainsTrapRecords); Assert.NotEmpty(speedTrap.Traps); Assert.Equal(trap.Name, speedTrap.Traps.First().Name); Assert.Equal(trap.Action, speedTrap.Traps.First().Action); }
public void TrapOperatesAsExpected() { var speedTrap = new SpeedTrap(); var trap = speedTrap.GetTrap(TrapOperatesAsExpected); var run = trap.StartRun(); Assert.True(run.IsRunning); run.Stop(); Assert.False(run.IsRunning); Assert.NotEmpty(trap.Runs); Assert.NotNull(trap.LastRun); Assert.Equal(trap.LastRun, trap.Runs.Last()); Assert.Equal(run.Duration, trap.Runs.First().Duration); Assert.Equal(run.StartedOn, trap.Runs.First().StartedOn); }