All checks were successful
KnarCraft/FFmpegConvert/pipeline/head This commit looks good
61 lines
2.0 KiB
Java
61 lines
2.0 KiB
Java
package net.knarcraft.ffmpegconverter.utility;
|
|
|
|
import net.knarcraft.ffmpegconverter.parser.ConverterArgument;
|
|
import net.knarcraft.ffmpegconverter.parser.ConverterArgumentValueType;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import static junit.framework.TestCase.assertEquals;
|
|
|
|
public class ParserTest {
|
|
|
|
private List<ConverterArgument> validArguments;
|
|
|
|
@Before
|
|
public void setUp() {
|
|
validArguments = new ArrayList<>();
|
|
validArguments.add(new ConverterArgument("anargument", 'a', true, ConverterArgumentValueType.STRING));
|
|
validArguments.add(new ConverterArgument("turnoff", 't', false, ConverterArgumentValueType.BOOLEAN));
|
|
validArguments.add(new ConverterArgument("turnon", 'o', false, ConverterArgumentValueType.BOOLEAN));
|
|
}
|
|
|
|
@Test
|
|
public void tokenize() {
|
|
List<String> tokens = Parser.tokenize("arg1 \"arg 2 long\" arg3 \"arg 4\"");
|
|
List<String> expected = new ArrayList<>();
|
|
expected.add("arg1");
|
|
expected.add("arg 2 long");
|
|
expected.add("arg3");
|
|
expected.add("arg 4");
|
|
assertEquals(expected, tokens);
|
|
}
|
|
|
|
@Test
|
|
public void parseValidInput() {
|
|
Map<String, String> parsed = Parser.parse("-t -a \"some Value\" --turnon false", validArguments);
|
|
assertEquals("some Value", parsed.get("anargument"));
|
|
assertEquals("true", parsed.get("turnoff"));
|
|
assertEquals("false", parsed.get("turnon"));
|
|
}
|
|
|
|
@Test(expected = IllegalArgumentException.class)
|
|
public void parseInvalidArgument() {
|
|
Parser.parse("--someInvalidArgument hahaha", validArguments);
|
|
}
|
|
|
|
@Test(expected = IllegalArgumentException.class)
|
|
public void parseValueWhenExpectingArgument() {
|
|
Parser.parse("somevalue", validArguments);
|
|
}
|
|
|
|
@Test(expected = IllegalArgumentException.class)
|
|
public void parseArgumentWithoutRequiredValue() {
|
|
Parser.parse("--anargument -t", validArguments);
|
|
}
|
|
|
|
}
|