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

2 months ago
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()