def test_set_default(self):
        """
        InputOption.set_default() sets the default value
        """
        option = InputOption("foo", "f", InputOption.VALUE_REQUIRED, "", "default")
        option.set_default(None)
        self.assertEqual(None, option.get_default(), msg=".set_default() can reset the default value by passing None")
        option.set_default("another")
        self.assertEqual("another", option.get_default(), msg=".set_default() changes the default value")

        option = InputOption("foo", "f", InputOption.VALUE_NONE)
        self.assertRaises(Exception, option.set_default, "default")
 def test_get_default(self):
     """
     InputOption.get_default() returns the default value
     """
     option = InputOption("foo", "f", InputOption.VALUE_OPTIONAL, "", "default")
     self.assertEqual("default", option.get_default(), msg=".get_default() returns the default value")
     option = InputOption("foo", "f", InputOption.VALUE_REQUIRED, "", "default")
     self.assertEqual("default", option.get_default(), msg=".get_default() returns the default value")
     option = InputOption("foo", "f", InputOption.VALUE_REQUIRED)
     self.assertEqual(
         None, option.get_default(), msg=".get_default() returns None if no default value is configured"
     )
     option = InputOption("foo", "f", InputOption.VALUE_NONE)
     self.assertEqual(
         False, option.get_default(), msg=".get_default() returns False if the option does not take a value"
     )