You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.0 KiB
51 lines
2.0 KiB
import unittest
|
|
from io import StringIO
|
|
from unittest.mock import patch
|
|
import jieba
|
|
import wordcloud
|
|
import matplotlib.pyplot as plt
|
|
from collections import Counter
|
|
import handle
|
|
|
|
# 单元测试类
|
|
class TestFunctions(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
# 在每个测试之前运行
|
|
self.keywords = [
|
|
'AI', '人工智能', '机器学习', '深度学习', '神经网络', '自动',
|
|
'算法', '数据科学', '自然语言', '计算机', '人工智能技术',
|
|
'大数据', '预测分析', '机器视觉',
|
|
'智能', '计算机', '人工智能应用',
|
|
'数据分析', '情感计算', 'ai'
|
|
]
|
|
self.sample_comments = [
|
|
'人工智能是未来的趋势。',
|
|
'机器学习算法在自动化中扮演了重要角色。',
|
|
'深度学习和神经网络的结合使得AI技术更加强大。',
|
|
'我喜欢学习计算机视觉和数据科学。',
|
|
'自动驾驶技术还需要进一步发展。',
|
|
'智能推荐系统可以大大提升用户体验。',
|
|
'情感计算是自然语言处理的一个重要方向。',
|
|
'这只是一些无关的评论。'
|
|
''
|
|
]
|
|
|
|
def test_sort(self):
|
|
# 测试 sort 函数
|
|
expected_output = Counter({
|
|
'人工智能是未来的趋势。': 1,
|
|
'机器学习算法在自动化中扮演了重要角色。': 1,
|
|
'深度学习和神经网络的结合使得AI技术更加强大。': 1,
|
|
'我喜欢学习计算机视觉和数据科学。': 1,
|
|
'自动驾驶技术还需要进一步发展。': 1,
|
|
'智能推荐系统可以大大提升用户体验。': 1,
|
|
'情感计算是自然语言处理的一个重要方向。': 1
|
|
})
|
|
actual_output = handle.sort(self.sample_comments, self.keywords)
|
|
self.assertEqual(expected_output, actual_output)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|