public void SecondRequest_WhenFirstNoLongerBusy_ProceedsAtOnce()
{
var browser = new BrowserStub();
string target = "http://any old web address";
var isolator = new NavigationIsolator();
isolator.Navigate(browser, target);
Assert.That(browser.NavigateTarget, Is.EqualTo(target));
browser.IsBusy = false; // clear state without raising event
string target2 = "http://some other web address";
isolator.Navigate(browser, target2);
Assert.That(browser.NavigateTarget, Is.EqualTo(target2), "Second navigation should have proceeded since browser is already not busy");
browser.NormalTermination();
Assert.That(browser.EventHandlerCount, Is.EqualTo(0), "event handlers should be removed once last navigation completed");
}