class TestSBToolsMethods(unittest.TestCase): """ Unit tests for the SBTools class. """ def setUp(self): self.sbtools = SBTools() def test001_init(self): self.assertEqual(self.sbtools.tcmdlist, []) self.assertEqual(self.sbtools.cmdmap, {}) self.assertEqual(self.sbtools.namemap, {}) def test002_init_parser(self): self.assertEqual(self.sbtools.parser.get_version(), "sbtools 0.5") self.assertEqual(self.sbtools.parser.get_usage().strip(), "Usage: sbtools <subcommand> [options] [args]") def test003_parse_options_no_subcommand(self): saved_argv = sys.argv sys.argv = ['sbtools'] # Make sure the expected exception is raised. self.assertRaises(sbtools.NoSubcommandError, self.sbtools.parse_options) sys.argv = saved_argv def test004_parse_options_unknown_subcommand(self): saved_argv = sys.argv sys.argv = ['sbtools', 'unknown-sc'] # Make sure the expected exception is raised. self.assertRaises(sbtools.UnknownSubcommandError, self.sbtools.parse_options) # Make sure the expected message is included with the exception. try: self.sbtools.parse_options() except sbtools.UnknownSubcommandError, msg: self.assertEqual(str(msg), 'unknown-sc') sys.argv = saved_argv