Inheritance: IMirrorSelector, IDisposable
        public void FailedHostIncreasesOnePointPerMinute() {
            _strategy = new TimeTravelTestScoreMirrorSelector(defaultHostPool);
            FailMultiplier(httpHost, 2);

            var host1 = _strategy.GetHost();
            Thread.Sleep(4000);
            var host2 = _strategy.GetHost();

            host1.Should().Be(rsyncHost, "because it should have higher score");
            host2.Should().Be(httpHost, "because it should have same score again");
        }
        public void ThrowsOnCreateWithEmptyHostList() {
            Action act = () => _strategy = new ScoreMirrorSelector(GetHostChecker(), new Uri[0]);

            act.ShouldThrow<EmptyHostList>();
        }
 public void Setup() {
     _strategy = new ScoreMirrorSelector(GetHostChecker(), defaultHostPool);
 }
        public void ThrowsOnNullHostList() {
            Action act = () => _strategy = new ScoreMirrorSelector(GetHostChecker(), null);

            act.ShouldThrow<ArgumentNullException>();
        }