Files
Auto-GPT/tests/test_config.py

127 lines
4.2 KiB
Python

from unittest import TestCase
from autogpt.config import Config
class TestConfig(TestCase):
"""
Test cases for the Config class, which handles the configuration settings
for the AI and ensures it behaves as a singleton.
"""
def setUp(self):
"""
Set up the test environment by creating an instance of the Config class.
"""
self.config = Config()
def test_singleton(self):
"""
Test if the Config class behaves as a singleton by ensuring that two instances are the same.
"""
config2 = Config()
self.assertIs(self.config, config2)
def test_initial_values(self):
"""
Test if the initial values of the Config class attributes are set correctly.
"""
self.assertFalse(self.config.debug_mode)
self.assertFalse(self.config.continuous_mode)
self.assertFalse(self.config.speak_mode)
self.assertEqual(self.config.fast_llm_model, "gpt-3.5-turbo")
self.assertEqual(self.config.smart_llm_model, "gpt-4")
self.assertEqual(self.config.fast_token_limit, 4000)
self.assertEqual(self.config.smart_token_limit, 8000)
def test_set_continuous_mode(self):
"""
Test if the set_continuous_mode() method updates the continuous_mode attribute.
"""
# Store continuous mode to reset it after the test
continuous_mode = self.config.continuous_mode
self.config.set_continuous_mode(True)
self.assertTrue(self.config.continuous_mode)
# Reset continuous mode
self.config.set_continuous_mode(continuous_mode)
def test_set_speak_mode(self):
"""
Test if the set_speak_mode() method updates the speak_mode attribute.
"""
# Store speak mode to reset it after the test
speak_mode = self.config.speak_mode
self.config.set_speak_mode(True)
self.assertTrue(self.config.speak_mode)
# Reset speak mode
self.config.set_speak_mode(speak_mode)
def test_set_fast_llm_model(self):
"""
Test if the set_fast_llm_model() method updates the fast_llm_model attribute.
"""
# Store model name to reset it after the test
fast_llm_model = self.config.fast_llm_model
self.config.set_fast_llm_model("gpt-3.5-turbo-test")
self.assertEqual(self.config.fast_llm_model, "gpt-3.5-turbo-test")
# Reset model name
self.config.set_fast_llm_model(fast_llm_model)
def test_set_smart_llm_model(self):
"""
Test if the set_smart_llm_model() method updates the smart_llm_model attribute.
"""
# Store model name to reset it after the test
smart_llm_model = self.config.smart_llm_model
self.config.set_smart_llm_model("gpt-4-test")
self.assertEqual(self.config.smart_llm_model, "gpt-4-test")
# Reset model name
self.config.set_smart_llm_model(smart_llm_model)
def test_set_fast_token_limit(self):
"""
Test if the set_fast_token_limit() method updates the fast_token_limit attribute.
"""
# Store token limit to reset it after the test
fast_token_limit = self.config.fast_token_limit
self.config.set_fast_token_limit(5000)
self.assertEqual(self.config.fast_token_limit, 5000)
# Reset token limit
self.config.set_fast_token_limit(fast_token_limit)
def test_set_smart_token_limit(self):
"""
Test if the set_smart_token_limit() method updates the smart_token_limit attribute.
"""
# Store token limit to reset it after the test
smart_token_limit = self.config.smart_token_limit
self.config.set_smart_token_limit(9000)
self.assertEqual(self.config.smart_token_limit, 9000)
# Reset token limit
self.config.set_smart_token_limit(smart_token_limit)
def test_set_debug_mode(self):
"""
Test if the set_debug_mode() method updates the debug_mode attribute.
"""
# Store debug mode to reset it after the test
debug_mode = self.config.debug_mode
self.config.set_debug_mode(True)
self.assertTrue(self.config.debug_mode)
# Reset debug mode
self.config.set_debug_mode(debug_mode)