From 89c4bcae905741f9ec32509325037252108bd384 Mon Sep 17 00:00:00 2001 From: nikto_b Date: Fri, 17 Oct 2025 00:26:10 +0300 Subject: [PATCH] Add flat types deflator tests --- tests/test_flat_types_deflator.py | 53 +++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tests/test_flat_types_deflator.py diff --git a/tests/test_flat_types_deflator.py b/tests/test_flat_types_deflator.py new file mode 100644 index 0000000..81b9ea2 --- /dev/null +++ b/tests/test_flat_types_deflator.py @@ -0,0 +1,53 @@ +from __future__ import annotations +from dataclasses import dataclass +from typing import Optional + +import pytest + +from megasniff.deflator import SchemaDeflatorGenerator +from src.megasniff import SchemaInflatorGenerator + + +def test_str_deflator(): + defl = SchemaDeflatorGenerator() + fn = defl.schema_to_deflator(str, explicit_casts_override=True) + a = fn('asdf') + + assert a == 'asdf' + a = fn(1234) + + assert a == '1234' + + fn1 = defl.schema_to_deflator(str, strict_mode_override=True) + with pytest.raises(Exception): + fn1(1234) + + +def test_int_deflator(): + defl = SchemaDeflatorGenerator() + fn = defl.schema_to_deflator(int, explicit_casts_override=True) + a = fn(1234) + + assert a == 1234 + a = fn('1234') + + assert a == 1234 + + fn1 = defl.schema_to_deflator(int, strict_mode_override=True) + with pytest.raises(Exception): + fn1('1234') + + +def test_float_deflator(): + defl = SchemaDeflatorGenerator() + fn = defl.schema_to_deflator(float, explicit_casts_override=True) + a = fn(1234.1) + + assert a == 1234.1 + a = fn('1234') + + assert a == 1234.0 + + fn1 = defl.schema_to_deflator(float, strict_mode_override=True) + with pytest.raises(Exception): + fn1(1234)