public void ReleaseCapacityUnitTest()
{
int throttleRetryCount = 5;
int throttleRetryCost = 5;
int throttleCost = 1;
CapacityManager capacityManagerInstance = new CapacityManager(throttleRetryCount, throttleRetryCost, throttleCost);
retryCapacity = capacityManagerInstance.GetRetryCapacity("ReleaseCapacityUnitTest");
Assert.IsNotNull(retryCapacity);
Assert.IsTrue(capacityManagerInstance.TryAcquireCapacity(retryCapacity));
capacityManagerInstance.TryReleaseCapacity(true, retryCapacity);
Assert.AreEqual(throttleRetryCost * throttleRetryCount, retryCapacity.AvailableCapacity);
var consumedCapacity = retryCapacity.MaxCapacity - retryCapacity.AvailableCapacity;
Assert.AreEqual(0, consumedCapacity);
capacityManagerInstance.TryReleaseCapacity(false, retryCapacity);
Assert.AreEqual(throttleRetryCost * throttleRetryCount, retryCapacity.AvailableCapacity);
consumedCapacity = retryCapacity.MaxCapacity - retryCapacity.AvailableCapacity;
Assert.AreEqual(0, consumedCapacity);
}