|
@ -0,0 +1,31 @@ |
|
|
|
|
|
import unittest |
|
|
|
|
|
from argparse import ArgumentParser |
|
|
|
|
|
|
|
|
|
|
|
from python_bindings.config_generator import create_from_parser |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TextConfigGenerator(unittest.TestCase): |
|
|
|
|
|
|
|
|
|
|
|
def test_program_description(self): |
|
|
|
|
|
""" |
|
|
|
|
|
Should use `program_description` if supplied, otherwise |
|
|
|
|
|
fallback to the description on the `parser` |
|
|
|
|
|
""" |
|
|
|
|
|
|
|
|
|
|
|
parser = ArgumentParser(description="Parser Description") |
|
|
|
|
|
# when supplied explicitly, we assign it as the description |
|
|
|
|
|
buildspec = create_from_parser(parser, "", program_description='Custom Description') |
|
|
|
|
|
self.assertEqual(buildspec['program_description'], 'Custom Description') |
|
|
|
|
|
|
|
|
|
|
|
# when no explicit program_definition supplied, we fallback to the parser's description |
|
|
|
|
|
buildspec = create_from_parser(parser, "") |
|
|
|
|
|
self.assertEqual(buildspec['program_description'], 'Parser Description') |
|
|
|
|
|
|
|
|
|
|
|
# if no description is provided anywhere, we just set it to be an empty string. |
|
|
|
|
|
blank_parser = ArgumentParser() |
|
|
|
|
|
buildspec = create_from_parser(blank_parser, "") |
|
|
|
|
|
self.assertEqual(buildspec['program_description'], '') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
|
|
unittest.main() |