public void GetSemaphoreForGroup_GetsANullSemaphoreWhenGroupingToNull() { var groupThrottler = new GroupThrottler<FakeEndpoint>(e => null, 1); var endpoint = new FakeEndpoint(); var semaphore = groupThrottler.GetSemaphoreForGroup(endpoint); semaphore.ShouldBeNull(); }
public void GetSemaphoreForGroup_GetsSameSemaphoreForSameGrouping() { var groupThrottler = new GroupThrottler<FakeEndpoint>(e => e.Host, 1); var endpoint1 = new FakeEndpoint { Host = "1" }; var endpoint2 = new FakeEndpoint { Host = "1" }; var semaphore1 = groupThrottler.GetSemaphoreForGroup(endpoint1); var semaphore2 = groupThrottler.GetSemaphoreForGroup(endpoint2); semaphore1.ShouldBe(semaphore2); }