コード例 #1
0
        public void ThreadSleep_SleepFiftyMiliSeconds_ItShouldTakeApproximatelyFiftyMilliSeconds()
        {
            ThreadSleepTester threadSleepTester = new ThreadSleepTester();
            Stopwatch         stopwatch         = new Stopwatch();

            stopwatch.Start();
            threadSleepTester.Sleep(50);
            stopwatch.Stop();

            var elapsedMilliseconds = stopwatch.ElapsedMilliseconds;

            Assert.InRange(elapsedMilliseconds, 40, 60);
        }
コード例 #2
0
        public void ThreadSleep_TenTimesSleepTenMiliSeconds_ItShouldTakeApproximatelyTenMilliSecondsEach()
        {
            ThreadSleepTester threadSleepTester = new ThreadSleepTester();

            for (int i = 0; i < 10; i++)
            {
                new Thread(() =>
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Reset();
                    stopwatch.Start();
                    threadSleepTester.Sleep(10);
                    stopwatch.Stop();

                    var elapsedMilliseconds = stopwatch.ElapsedMilliseconds;

                    Assert.InRange(elapsedMilliseconds, 5, 20);
                }).Start();
            }
        }