diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/AttributeConfigConverter.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/AttributeConfigConverter.java index 833ef8e..927b6cf 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/AttributeConfigConverter.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/AttributeConfigConverter.java @@ -19,7 +19,7 @@ public class AttributeConfigConverter implements CommandLine.ITypeConverter validData() { + return Stream.of( + Arguments.of("jpn:ger", new AttributeConfig("jpn", "ger")), + Arguments.of("eng:eng", new AttributeConfig("eng", "eng")), + Arguments.of("OFF:OFF", new AttributeConfig("OFF", "OFF")) + ); + } + + @ParameterizedTest + @MethodSource("validData") + void convert(String input, AttributeConfig expected) { + AttributeConfigConverter underTest = new AttributeConfigConverter(); + AttributeConfig actual = underTest.convert(input); + assertEquals(expected, actual); + } + + private static Stream invalidData() { + return Stream.of( + Arguments.of("ars:eng"), + Arguments.of("ars:OFF"), + Arguments.of("OFF:ars"), + Arguments.of("ars:ars"), + Arguments.of("arss:ars"), + Arguments.of("ars:arsr") + ); + } + + @ParameterizedTest + @MethodSource("invalidData") + void convertInvalid(String input) { + AttributeConfigConverter underTest = new AttributeConfigConverter(); + assertThrows(CommandLine.TypeConversionException.class, () -> underTest.convert(input)); + } +} +