迁移代码到Git

This commit is contained in:
Neo
2025-11-18 02:32:00 +08:00
parent 7f87421678
commit c3749474c6
85 changed files with 185478 additions and 0 deletions

View File

View File

@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
"""配置管理测试"""
import pytest
from config.settings import AppConfig
from config.defaults import DEFAULTS
def test_config_load():
"""测试配置加载"""
config = AppConfig.load()
assert config.get("app.timezone") == DEFAULTS["app"]["timezone"]
def test_config_override():
"""测试配置覆盖"""
overrides = {
"app": {"store_id": 12345}
}
config = AppConfig.load(overrides)
assert config.get("app.store_id") == 12345
def test_config_get_nested():
"""测试嵌套配置获取"""
config = AppConfig.load()
assert config.get("db.batch_size") == 1000
assert config.get("nonexistent.key", "default") == "default"

View File

@@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
"""解析器测试"""
import pytest
from decimal import Decimal
from datetime import datetime
from zoneinfo import ZoneInfo
from models.parsers import TypeParser
def test_parse_decimal():
"""测试金额解析"""
assert TypeParser.parse_decimal("100.555", 2) == Decimal("100.56")
assert TypeParser.parse_decimal(None) is None
assert TypeParser.parse_decimal("invalid") is None
def test_parse_int():
"""测试整数解析"""
assert TypeParser.parse_int("123") == 123
assert TypeParser.parse_int(456) == 456
assert TypeParser.parse_int(None) is None
assert TypeParser.parse_int("abc") is None
def test_parse_timestamp():
"""测试时间戳解析"""
tz = ZoneInfo("Asia/Taipei")
dt = TypeParser.parse_timestamp("2025-01-15 10:30:00", tz)
assert dt is not None
assert dt.year == 2025
assert dt.month == 1
assert dt.day == 15