diff options
Diffstat (limited to 'tests/test_settings.py')
-rw-r--r-- | tests/test_settings.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/test_settings.py b/tests/test_settings.py new file mode 100644 index 0000000..49f00cc --- /dev/null +++ b/tests/test_settings.py @@ -0,0 +1,65 @@ +import os +from pathlib import Path +import unittest +import pygame + +os.environ["TEST_CONFIG_FILE"] = "/tmp/sliceitoff-settings-test" +from sliceitoff.settings import settings + +class TestSettings(unittest.TestCase): + def setUp(self): + self.filename = Path("/tmp/sliceitoff-settings-test") + if self.filename.is_file(): + self.filename.unlink() + + def tearDown(self): + if self.filename.is_file(): + self.filename.unlink() + + def test_can_create(self): + self.assertNotEqual(None, settings) + + def test_config_save_can_run(self): + settings.save() + if self.filename.is_file(): + self.filename.unlink() + + def test_can_add_value(self): + settings.put_value("testing", "666") + self.assertEqual(settings.get_value("testing"), "666") + + def test_can_replace_value(self): + settings.put_value("testing2", "777") + settings.replace_value("testing2", "666") + self.assertEqual(settings.get_value("testing2"), "666") + + def test_scores_can_be_saved(self): + settings.put_value("testing3", "just_test") + settings.save() + with open(self.filename, "r", encoding="utf-8") as cfile: + for line in cfile: + if line == "testing3=just_test\n": + break + else: + self.fail("Problem saving settings.") + + def test_validate_line(self): + self.assertEqual( + ("option", "value"), + settings.validate_line("option=value\n")) + + self.assertEqual( + ("option", "value"), + settings.validate_line("option = value\n")) + + self.assertEqual( + None, + settings.validate_line("option = value = lol\n")) + + self.assertEqual( + None, + settings.validate_line("# option=value\n")) + + self.assertEqual( + None, + settings.validate_line("kamala lama\n")) |