test01/tests/test_data.py
2311020116lhh b6aef53ef0 feat: 初始化信用卡欺诈检测系统项目
- 添加项目基础结构,包括数据模型、训练、推理和Agent模块
- 实现数据处理、特征工程和模型训练功能
- 添加测试用例和文档说明
- 配置项目依赖和环境变量
2026-01-15 16:20:26 +08:00

63 lines
1.9 KiB
Python

import pytest
import numpy as np
from src.data import CreditCardDataProcessor, load_data
from pathlib import Path
def test_data_processor_initialization():
processor = CreditCardDataProcessor("data/creditcard.csv")
assert processor.file_path == "data/creditcard.csv"
assert processor.data is None
def test_load_data():
processor = CreditCardDataProcessor("data/creditcard.csv")
processor.load_data()
assert processor.data is not None
assert processor.data.height > 0
assert "Class" in processor.data.columns
def test_validate_data():
processor = CreditCardDataProcessor("data/creditcard.csv")
processor.load_data()
processor.validate_data()
assert processor.data is not None
def test_split_data_by_time():
processor = CreditCardDataProcessor("data/creditcard.csv")
processor.load_data()
train_data, test_data = processor.split_data_by_time(test_ratio=0.2)
assert train_data is not None
assert test_data is not None
assert train_data.height > test_data.height
def test_prepare_features_labels():
processor = CreditCardDataProcessor("data/creditcard.csv")
processor.load_data()
processor.split_data_by_time()
processor.prepare_features_labels()
assert processor.train_features is not None
assert processor.train_labels is not None
assert processor.test_features is not None
assert processor.test_labels is not None
def test_load_data_function():
processor = load_data("data/creditcard.csv")
assert processor.data is not None
assert processor.train_features is not None
assert processor.test_features is not None
def test_get_statistics():
processor = load_data("data/creditcard.csv")
stats = processor.get_statistics()
assert "总记录数" in stats
assert "特征数" in stats
assert "欺诈交易数" in stats
assert "非欺诈交易数" in stats
assert stats["总记录数"] > 0