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()