49 lines
1.9 KiB
Python
49 lines
1.9 KiB
Python
import unittest
|
|
from function.method_reader_date_process import MethodReader
|
|
|
|
class TestMethodReader(unittest.TestCase):
|
|
def setUp(self):
|
|
self.reader = MethodReader()
|
|
|
|
def test_get_preprocessing_methods(self):
|
|
result = self.reader.get_preprocessing_methods()
|
|
self.assertEqual(result['status'], 'success')
|
|
self.assertIsInstance(result['methods'], list)
|
|
|
|
# 检查返回的方法列表
|
|
methods = result['methods']
|
|
self.assertTrue(any(m['name'] == 'data_scaler' for m in methods))
|
|
self.assertTrue(any(m['name'] == 'missing_value_handler' for m in methods))
|
|
self.assertTrue(any(m['name'] == 'outlier_detector' for m in methods))
|
|
|
|
def test_get_method_details(self):
|
|
# 测试获取StandardScaler的详细信息
|
|
result = self.reader.get_method_details('StandardScaler')
|
|
self.assertEqual(result['status'], 'success')
|
|
self.assertEqual(result['method']['name'], 'StandardScaler')
|
|
|
|
# 检查返回的详细信息字段
|
|
method = result['method']
|
|
self.assertIn('description', method)
|
|
self.assertIn('principle', method)
|
|
self.assertIn('advantages', method)
|
|
self.assertIn('disadvantages', method)
|
|
self.assertIn('applicable_scenarios', method)
|
|
self.assertIn('parameters', method)
|
|
|
|
# 检查参数信息
|
|
parameters = method['parameters']
|
|
self.assertIsInstance(parameters, list)
|
|
if parameters:
|
|
param = parameters[0]
|
|
self.assertIn('name', param)
|
|
self.assertIn('type', param)
|
|
self.assertIn('default', param)
|
|
self.assertIn('description', param)
|
|
|
|
# 测试获取不存在的方法
|
|
result = self.reader.get_method_details('NonExistentMethod')
|
|
self.assertEqual(result['status'], 'error')
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main() |