Skip to content

Commit f67e11d

Browse files
committed
add tests
1 parent 40917e1 commit f67e11d

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/aiolimiter/leakybucket.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ def estimated_wait_time(self, amount: float = 1) -> float:
133133
:param amount: How much capacity you need to be available.
134134
"""
135135
self._leak()
136-
return (amount - self._level) / self._rate_per_sec
136+
return abs(amount - self._level) / self._rate_per_sec
137137

138138
async def acquire(self, amount: float = 1) -> None:
139139
"""Acquire capacity in the limiter.

tests/test_aiolimiter.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,16 @@ async def test_acquire_wait_time():
134134
pending = await wait_for_n_done([task], 0)
135135
assert pending
136136

137+
assert limiter.has_capacity()
138+
assert limiter.estimated_wait_time() == 0
139+
137140
mocked_time.current_time = 1
138141
pending = await wait_for_n_done([task], 1)
139142
assert not pending
140143

144+
assert not limiter.has_capacity()
145+
assert limiter.estimated_wait_time() == 2
146+
141147

142148
async def test_decreasing_acquire():
143149
limiter = AsyncLimiter(3, 3)

0 commit comments

Comments
 (0)