예제 #1
0
        public void Cannot_be_stopped_multiple_times()
        {
            _timer.Start();
            _timer.Stop();

            Action stop = () => _timer.Stop();

            stop.ShouldThrow <InvalidOperationException>();
        }
예제 #2
0
        public void Cannot_be_stopped_multiple_times()
        {
            _timer.Start();
            _stopwatch.IsRunning.Returns(true);
            _timer.Stop();
            _stopwatch.IsRunning.Returns(false);

            Action stop = () => _timer.Stop();

            stop.ShouldThrow <InvalidOperationException>();
        }
예제 #3
0
        public void Timer_calls_the_callback_with_elapsed_milliseconds()
        {
            var elapsedMilliseconds = 0L;
            var timer = new OkanshiTimer(x => elapsedMilliseconds = x);

            timer.Start();
            Thread.Sleep(500);
            timer.Stop();

            elapsedMilliseconds.Should().BeInRange(400, 700);
        }