package de.gwdg.metadataqa.marc.cli.parameters; import de.gwdg.metadataqa.marc.model.validation.ValidationErrorFormat; import org.apache.commons.cli.ParseException; import org.junit.Test; import static junit.framework.TestCase.*; public class ValidatorParametersTest { @Test public void testDefaults() { String[] arguments = new String[]{"a-marc-file.mrc"}; try { ValidatorParameters parameters = new ValidatorParameters(arguments); assertNotNull(parameters.getArgs()); assertEquals(1, parameters.getArgs().length); assertEquals("a-marc-file.mrc", parameters.getArgs()[0]); assertFalse(parameters.doHelp()); assertNotNull(parameters.getDetailsFileName()); assertEquals("validation-report.txt", parameters.getDetailsFileName()); assertFalse(parameters.useStandardOutput()); assertEquals(-1, parameters.getLimit()); assertEquals(-1, parameters.getOffset()); assertFalse(parameters.doSummary()); assertEquals(ValidationErrorFormat.TEXT, parameters.getFormat()); } catch (ParseException e) { e.printStackTrace(); } } @Test public void testHelp() { String[] arguments = new String[]{"--help", "a-marc-file.mrc"}; try { ValidatorParameters parameters = new ValidatorParameters(arguments); assertTrue(parameters.doHelp()); } catch (ParseException e) { e.printStackTrace(); } } @Test public void testStdOut() { String[] arguments = new String[]{"--detailsFileName", "stdout", "a-marc-file.mrc"}; try { ValidatorParameters parameters = new ValidatorParameters(arguments); assertNotNull(parameters.getDetailsFileName()); assertEquals("stdout", parameters.getDetailsFileName()); assertTrue(parameters.useStandardOutput()); } catch (ParseException e) { e.printStackTrace(); } } @Test public void testLimit() { String[] arguments = new String[]{"--limit", "3", "a-marc-file.mrc"}; try { ValidatorParameters parameters = new ValidatorParameters(arguments); assertEquals(3, parameters.getLimit()); } catch (ParseException e) { e.printStackTrace(); } } @Test public void testOffset() { String[] arguments = new String[]{"--offset", "3", "a-marc-file.mrc"}; try { ValidatorParameters parameters = new ValidatorParameters(arguments); assertEquals(3, parameters.getOffset()); } catch (ParseException e) { e.printStackTrace(); } } @Test public void testSummary() { String[] arguments = new String[]{"--summary", "a-marc-file.mrc"}; try { ValidatorParameters parameters = new ValidatorParameters(arguments); assertTrue(parameters.doSummary()); } catch (ParseException e) { e.printStackTrace(); } } @Test public void testValidFormat() { String[] arguments = new String[]{"--format", "tab-separated", "a-marc-file.mrc"}; try { ValidatorParameters parameters = new ValidatorParameters(arguments); assertEquals(ValidationErrorFormat.TAB_SEPARATED, parameters.getFormat()); } catch (ParseException e) { e.printStackTrace(); } } @Test public void testInValidFormat() { String[] arguments = new String[]{"--format", "iso", "a-marc-file.mrc"}; try { ValidatorParameters parameters = new ValidatorParameters(arguments); assertEquals(ValidationErrorFormat.TEXT, parameters.getFormat()); } catch (ParseException e) { e.printStackTrace(); } } }