def test_add_command_fails_if_option_with_same_short_name_as_alias_of_other_option( builder ): builder.add_option(CommandOption("option1", "a")) with pytest.raises(CannotAddOptionException): builder.add_command_option(CommandOption("option2", "b", ["a"]))
def test_add_command_fails_if_option_with_same_long_name_as_other_command_option( builder ): builder.add_option(CommandOption("option", "a")) with pytest.raises(CannotAddOptionException): builder.add_command_option(CommandOption("option", "b"))
def test_add_command_option_preserves_existing_options(builder): option1 = CommandOption("option1") option2 = CommandOption("option2") builder.add_command_option(option1) builder.add_command_option(option2) assert [option1, option2] == builder.get_command_options()
def test_add_command_fails_if_option_with_same_short_name_as_option_in_base_format( base_format_builder, ): base_format_builder.add_option(Option("option", "a")) builder = ArgsFormatBuilder(base_format_builder.format) with pytest.raises(CannotAddOptionException): builder.add_command_option(CommandOption("option2", "a"))
def test_add_option_fails_if_same_long_name_as_command_option_alias_in_base_format( base_format_builder, ): base_format_builder.add_command_option( CommandOption("option", "a", ["alias"])) builder = ArgsFormatBuilder(base_format_builder.format) with pytest.raises(CannotAddOptionException): builder.add_option(Option("alias", "b"))
def test_add_option_fails_if_same_short_name_as_command_option(builder): builder.add_option(CommandOption("option1", "a")) with pytest.raises(CannotAddOptionException): builder.add_option(Option("option1", "a"))
def test_add_option_fails_if_same_long_name_as_command_option_alias(builder): builder.add_command_option(CommandOption("option", "a", ["alias"])) with pytest.raises(CannotAddOptionException): builder.add_option(Option("alias", "b"))
def test_add_command_option(builder): option = CommandOption("option") builder.add_command_option(option) assert [option] == builder.get_command_options()