From 2d99aef78fcc565db0e85fdd306931c0b027ee78 Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Wed, 28 Dec 2011 16:04:24 -0500 Subject: [PATCH] Start of some unit tests for setting.py parsing --- test/data/settings/settings_test_1.py | 5 ++++ .../data/settings/settings_test_rendermode.py | 5 ++++ test/data/settings/test_world/level.dat | 0 test/test_all.py | 1 + test/test_settings.py | 24 +++++++++++++++++++ 5 files changed, 35 insertions(+) create mode 100644 test/data/settings/settings_test_1.py create mode 100644 test/data/settings/settings_test_rendermode.py create mode 100644 test/data/settings/test_world/level.dat create mode 100644 test/test_settings.py diff --git a/test/data/settings/settings_test_1.py b/test/data/settings/settings_test_1.py new file mode 100644 index 0000000..a7f953b --- /dev/null +++ b/test/data/settings/settings_test_1.py @@ -0,0 +1,5 @@ +render["world"] = { + "path": "test/data/settings/test_world", + "rendermodes": ["normal"], + "north-direction": ["upper-left"], +} diff --git a/test/data/settings/settings_test_rendermode.py b/test/data/settings/settings_test_rendermode.py new file mode 100644 index 0000000..253ae12 --- /dev/null +++ b/test/data/settings/settings_test_rendermode.py @@ -0,0 +1,5 @@ +render["world"] = { + "path": "test/data/settings/test_world", + "rendermodes": ["bad_rendermode"], + "north-direction": ["upper-left"], +} diff --git a/test/data/settings/test_world/level.dat b/test/data/settings/test_world/level.dat new file mode 100644 index 0000000..e69de29 diff --git a/test/test_all.py b/test/test_all.py index 46499bc..ce8fad0 100644 --- a/test/test_all.py +++ b/test/test_all.py @@ -9,6 +9,7 @@ sys.path.insert(0, os.path.join(os.getcwd(), os.pardir)) # Import unit test cases or suites here from test_tileobj import TileTest from test_rendertileset import RendertileSetTest +from test_settings import SettingsTest if __name__ == "__main__": unittest.main() diff --git a/test/test_settings.py b/test/test_settings.py new file mode 100644 index 0000000..2408e40 --- /dev/null +++ b/test/test_settings.py @@ -0,0 +1,24 @@ +import unittest + +from overviewer_core import configParser +from overviewer_core.settingsValidators import ValidationException + +class SettingsTest(unittest.TestCase): + + def test_missing(self): + "Validates that a non-existant settings.py causes an exception" + self.assertRaises(ValueError, configParser.MultiWorldParser, "doesnotexist.py") + def test_existing_file(self): + s = configParser.MultiWorldParser("test/data/settings/settings_test_1.py") + s.parse() + s.validate() + things = s.get_render_things() + # no exceptions so far. that's good + def test_rendermode_validation(self): + s = configParser.MultiWorldParser("test/data/settings/settings_test_rendermode.py") + s.parse() + + self.assertRaises(ValidationException,s.validate) + +if __name__ == "__main__": + unittest.main()