public void ItShouldBeResumedByDefault()
        {
            // Given
            var breakpoint = new Breakpoint();
            int state      = 0;

            // When
            Task.Run(() =>
            {
                state++;
                breakpoint.WaitIfPaused();
                state++;
            });
            breakpoint.WaitForPause();
            Thread.Sleep(100);

            // Then
            Assert.AreEqual(2, state);
        }
        public void ItShouldPauseThreadForSpecificTime()
        {
            // Given
            var breakpoint = new Breakpoint().Pause(@for: TimeSpan.FromMilliseconds(200));
            int state      = 0;

            // When
            Task.Run(() =>
            {
                state++;
                breakpoint.WaitIfPaused();
                state++;
            });
            Thread.Sleep(100);

            // Then
            Assert.AreEqual(1, state);

            // When
            Thread.Sleep(200);

            // Then
            Assert.AreEqual(2, state);
        }