public void ReturnsOnlyItemIfThatIsAllThereIs() { var balancer = new RandomLoadBalancer <Uri>(); balancer.Resources.Add(new Uri("http://test.local")); var sameAsFirst = balancer.GetResource(); sameAsFirst.Should().NotBeNull(); foreach (var _ in Enumerable.Range(1, 100)) { balancer.GetResource().Should().Be(sameAsFirst); } }
public void ReturnsRandomEntryWhenMultipleExist() { var balancer = new RandomLoadBalancer <Uri>(); balancer.Resources.Add(new Uri("http://one.test")); balancer.Resources.Add(new Uri("http://two.test")); balancer.Resources.Add(new Uri("http://three.test")); var list1 = new List <Uri>(); var list2 = new List <Uri>(); foreach (var _ in Enumerable.Range(1, 100)) { list1.Add(balancer.GetResource()); list2.Add(balancer.GetResource()); } var numSame = list1.Select((t, i) => t.ToString() == list2[i].ToString() ? 1 : 0).Sum(); numSame.Should().BeLessThan(list1.Count); }
public void ReturnsNullIfNoResources() { var balancer = new RandomLoadBalancer <Uri>(); balancer.GetResource().Should().BeNull(); }