public void EnterUpdateAndEnterLoopSearchReturns()
        {
            var sut = new StormVisitState();

            sut = sut.EnterUpdate();
            sut.EnterLoopSearch();
        }
        public void EnterLoopSearchAndLeaveLoopSearchReturns()
        {
            var sut = new StormVisitState();

            sut = sut.EnterLoopSearch();
            sut.LeaveLoopSearch();
        }
        public void EnterUpdateAndLeaveUpdateReturns()
        {
            var sut = new StormVisitState();

            sut = sut.EnterUpdate();
            sut.LeaveUpdate();
        }
        public void EnterUpdateAndLeaveLoopSearchThrows()
        {
            var sut = new StormVisitState();

            sut = sut.EnterUpdate();

            Assert.Throws <InvalidOperationException>(() => sut.LeaveLoopSearch());
        }
        public void LeaveUpdateThrows()
        {
            var sut = new StormVisitState();

            Assert.Throws <InvalidOperationException>(() => sut.LeaveUpdate());
        }