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

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