Пример #1
0
        public void TestReset()
        {
            var mock   = new Mock <Infrastructures.IStopwatch>();
            var called = false;

            mock.Setup(m => m.Reset()).Callback(() => called = true);

            using (var sw = new StopwatchService(mock.Object))
                using (var are = new AutoResetEvent(false))
                {
                    sw.ObserveProperty(x => x.Ellapsed, false)
                    .Subscribe(_ => are.Set());

                    sw.Start();
                    sw.Lap();
                    sw.Lap();
                    sw.Lap();
                    are.WaitOne(10);
                    sw.Reset();

                    Assert.IsTrue(called);
                    Assert.IsTrue(are.WaitOne(10));
                    Assert.AreEqual(TimeSpan.Zero, sw.Ellapsed);
                    Assert.AreEqual(0, sw.LapTimes.Count);
                }
        }
Пример #2
0
        public void TestIsRunning()
        {
            var mock   = new Mock <Infrastructures.IStopwatch>();
            var called = false;

            mock.Setup(m => m.IsRunning).Callback(() => called = true);

            using (var sw = new StopwatchService(mock.Object))
                using (var are = new AutoResetEvent(false))
                {
                    sw.ObserveProperty(x => x.IsRunning, false)
                    .Subscribe(_ => are.Set());

                    var isRunning = sw.IsRunning;
                    Assert.IsTrue(called);

                    sw.Start();
                    Assert.IsTrue(are.WaitOne(10));

                    sw.Stop();
                    Assert.IsTrue(are.WaitOne(10));
                }
        }