# -*- 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