| import sys | |
| import os | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| from knowledge_base import KnowledgeBase | |
| def test_recommendations(): | |
| kb = KnowledgeBase() | |
| test_profiles = [ | |
| { | |
| 'name': 'ML профиль', | |
| 'profile': { | |
| 'programming_experience': 4, | |
| 'math_level': 3, | |
| 'interests': ['ml', 'dl', 'nlp'], | |
| 'semester': 1 | |
| } | |
| }, | |
| { | |
| 'name': 'Product профиль', | |
| 'profile': { | |
| 'programming_experience': 2, | |
| 'math_level': 1, | |
| 'interests': ['product', 'business'], | |
| 'semester': 2 | |
| } | |
| }, | |
| { | |
| 'name': 'Research профиль', | |
| 'profile': { | |
| 'programming_experience': 3, | |
| 'math_level': 4, | |
| 'interests': ['research', 'math', 'stats'], | |
| 'semester': 3 | |
| } | |
| } | |
| ] | |
| print('Тестирование системы рекомендаций...') | |
| for test_case in test_profiles: | |
| print(f'\n{test_case["name"]}:') | |
| recommendations = kb.recommend(test_case['profile']) | |
| if recommendations: | |
| print(f'Найдено рекомендаций: {len(recommendations)}') | |
| for i, rec in enumerate(recommendations[:3], 1): | |
| print(f' {i}. {rec["name"]} ({rec["semester"]} семестр)') | |
| else: | |
| print('Рекомендации не найдены') | |
| print('\nТест завершен') | |
| if __name__ == '__main__': | |
| test_recommendations() | |