Skip to content

Commit d0236dd

Browse files
committed
✅ increase test coverage for EncodeOptions by adding tests for post-init behavior and equality checks
1 parent de2be98 commit d0236dd

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

tests/unit/encode_options_test.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from qs_codec import EncodeOptions
2+
from qs_codec.utils.encode_utils import EncodeUtils
3+
4+
5+
class TestEncodeOptions:
6+
def test_post_init_restores_default_encoder(self) -> None:
7+
opts = EncodeOptions()
8+
assert opts._encoder.__func__ is EncodeUtils.encode.__func__
9+
10+
def test_post_init_recovers_when_encoder_missing(self) -> None:
11+
opts = EncodeOptions()
12+
delattr(opts, "_encoder")
13+
EncodeOptions.__post_init__(opts)
14+
assert opts._encoder.__func__ is EncodeUtils.encode.__func__
15+
16+
def test_equality_with_other_type_returns_false(self) -> None:
17+
opts = EncodeOptions()
18+
assert opts != object()
19+
20+
def test_equality_detects_field_difference(self) -> None:
21+
lhs = EncodeOptions()
22+
rhs = EncodeOptions(allow_dots=True)
23+
assert lhs != rhs

0 commit comments

Comments
 (0)