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); }