public void RegularNavigation_DelayedProperlyByIdleNavigation()
{
var browser = new BrowserStub();
string target = "http://any old web address";
var isolator = new NavigationIsolator();
Assert.That(isolator.NavigateIfIdle(browser, target), Is.True);
Assert.That(browser.NavigateTarget, Is.EqualTo(target));
string target2 = "http://some other web address";
isolator.Navigate(browser, target2);
Assert.That(browser.NavigateTarget, Is.EqualTo(target), "Second navigation should not have proceeded at once");
browser.NormalTermination();
Assert.That(browser.NavigateTarget, Is.EqualTo(target2), "Second navigation should have proceeded when first completed");
browser.NormalTermination();
Assert.That(browser.EventHandlerCount, Is.EqualTo(0), "event handlers should be removed once last navigation completed");
}