60 lines
1.6 KiB
Python
60 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
import sys
|
|
sys.path.insert(0, 'server')
|
|
|
|
# 测试导入函数的逻辑
|
|
def test_parse():
|
|
# 模拟辅助函数
|
|
def parse_percentage(value):
|
|
if value is None:
|
|
return 0
|
|
if isinstance(value, (int, float)):
|
|
return float(value)
|
|
value_str = str(value).strip()
|
|
if value_str.endswith('%'):
|
|
value_str = value_str[:-1]
|
|
try:
|
|
return float(value_str)
|
|
except:
|
|
return 0
|
|
|
|
def safe_int(value, default=0):
|
|
if value is None:
|
|
return default
|
|
try:
|
|
return int(float(value))
|
|
except:
|
|
return default
|
|
|
|
# 测试数据
|
|
test_cases = [
|
|
('62.28%', 62.28),
|
|
('62.28', 62.28),
|
|
(62.28, 62.28),
|
|
('', 0),
|
|
(None, 0),
|
|
]
|
|
|
|
print("测试 parse_percentage:")
|
|
for input_val, expected in test_cases:
|
|
result = parse_percentage(input_val)
|
|
status = "✓" if result == expected else "✗"
|
|
print(f" {status} parse_percentage({repr(input_val)}) = {result} (期望: {expected})")
|
|
|
|
print("\n测试 safe_int:")
|
|
test_int_cases = [
|
|
(100, 100),
|
|
(100.5, 100),
|
|
('100', 100),
|
|
('', 0),
|
|
(None, 0),
|
|
]
|
|
for input_val, expected in test_int_cases:
|
|
result = safe_int(input_val)
|
|
status = "✓" if result == expected else "✗"
|
|
print(f" {status} safe_int({repr(input_val)}) = {result} (期望: {expected})")
|
|
|
|
if __name__ == '__main__':
|
|
test_parse()
|