예제 #1
0
        public void StartAtEnd()
        {
            // Setup
            ReplayMachine machine = CreateMachine();

            machine.SeekToNextBookmark();
            machine.SeekToNextBookmark();

            machine.Start();
            while (machine.Ticks < machine.EndTicks)
            {
                machine.AdvancePlayback(100000);
                Thread.Sleep(10);
            }

            // Act
            Mock <MachineAuditorDelegate> auditor = new Mock <MachineAuditorDelegate>();

            machine.Auditors += auditor.Object;
            machine.Start();
            while (machine.Ticks < machine.EndTicks)
            {
                machine.AdvancePlayback(100000);
                Thread.Sleep(10);
            }

            // Verify
            auditor.VerifyNoOtherCalls();
            Assert.AreEqual(RunningState.Paused, machine.RunningState);
            Assert.AreEqual(machine.EndTicks, machine.Ticks);
        }