mirror of
https://github.com/OMGeeky/flucto-heisskleber.git
synced 2025-12-27 23:08:08 +01:00
36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
import json
|
|
import pickle
|
|
from typing import Any
|
|
|
|
import pytest
|
|
|
|
from heisskleber.core.packer import get_packer, get_unpacker, serialpacker
|
|
|
|
|
|
def test_get_packer() -> None:
|
|
assert get_packer("json") == json.dumps
|
|
assert get_packer("pickle") == pickle.dumps
|
|
assert get_packer("default") == json.dumps
|
|
assert get_packer("foobar") == json.dumps
|
|
assert get_packer("serial") == serialpacker
|
|
|
|
|
|
def test_get_unpacker() -> None:
|
|
assert get_unpacker("json") == json.loads
|
|
assert get_unpacker("pickle") == pickle.loads
|
|
assert get_unpacker("default") == json.loads
|
|
assert get_unpacker("foobar") == json.loads
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"message,expected",
|
|
[
|
|
({"hi": 1, "da": 2, "nei": 3}, "1,2,3"),
|
|
({"er": 1, "ma": "ga", "gerd": 3, "jo": 4}, "1,ga,3,4"),
|
|
({"": 1, "ho": 0.0, "lee": 0.1, "shit": 1_000}, "1,0.0,0.1,1000"),
|
|
({"be": 1e6, "li": 1_000}, "1000000.0,1000"),
|
|
],
|
|
)
|
|
def test_serial_packer_functionality(message: dict[str, Any], expected: str) -> None:
|
|
assert serialpacker(message) == expected
|