Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }