Skip to content

Commit 9e25657

Browse files
committed
fix
1 parent c5746d0 commit 9e25657

File tree

2 files changed

+37
-34
lines changed

2 files changed

+37
-34
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import unittest
2+
from dataclasses import dataclass
3+
from datetime import date, datetime, timedelta
4+
from decimal import Decimal
5+
from typing import Optional
6+
from uuid import UUID
7+
8+
import six
9+
from dateutil.tz import tzutc
10+
from parameterized import parameterized
11+
from pydantic import BaseModel
12+
from pydantic.v1 import BaseModel as BaseModelV1
13+
14+
from posthog import utils
15+
16+
17+
class TestSizeLimitedDict(unittest.TestCase):
18+
@parameterized.expand([
19+
(10, 100),
20+
(5, 20),
21+
(20, 200)
22+
])
23+
def test_size_limited_dict(self, size: int, iterations: int) -> None:
24+
values = utils.SizeLimitedDict(size, lambda _: -1)
25+
26+
for i in range(iterations):
27+
values[i] = i
28+
29+
assert values[i] == i
30+
assert len(values) == i % size + 1
31+
32+
if i % size == 0:
33+
# old numbers should've been removed
34+
self.assertIsNone(values.get(i - 1))
35+
self.assertIsNone(values.get(i - 3))
36+
self.assertIsNone(values.get(i - 5))
37+
self.assertIsNone(values.get(i - 9))

posthog/test/test_utils.py

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -170,37 +170,3 @@ class TestDataClass:
170170
"inner_optional": None,
171171
},
172172
}
173-
174-
175-
class TestSizeLimitedDict(unittest.TestCase):
176-
@parameterized.expand(
177-
[
178-
(5, 20),
179-
(10, 100),
180-
(3, 15),
181-
]
182-
)
183-
def test_size_limited_dict_with_different_sizes(self, size, iterations):
184-
values = utils.SizeLimitedDict(size, lambda _: -1)
185-
186-
for i in range(iterations):
187-
values[i] = i
188-
assert values[i] == i
189-
assert len(values) == min(i + 1, size)
190-
191-
def test_size_limited_dict(self):
192-
size = 10
193-
values = utils.SizeLimitedDict(size, lambda _: -1)
194-
195-
for i in range(100):
196-
values[i] = i
197-
198-
assert values[i] == i
199-
assert len(values) == i % size + 1
200-
201-
if i % size == 0:
202-
# old numbers should've been removed
203-
assert values.get(i - 1) is None
204-
assert values.get(i - 3) is None
205-
assert values.get(i - 5) is None
206-
assert values.get(i - 9) is None

0 commit comments

Comments
 (0)