/*
* Copyright (C) 2008 Steve Ratcliffe
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* Author: Steve Ratcliffe
* Create date: 11-Jan-2009
*/
package func;
import java.io.FileNotFoundException;
import uk.me.parabola.imgfmt.app.trergn.TREFileReader;
import uk.me.parabola.imgfmt.app.trergn.TREHeader;
import uk.me.parabola.imgfmt.fs.FileSystem;
import uk.me.parabola.imgfmt.fs.ImgChannel;
import func.lib.Args;
import func.lib.Outputs;
import func.lib.TestUtils;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* A basic check of various arguments that can be passed in.
*
* @author Steve Ratcliffe
*/
public class ArgsTest extends Base {
@Test
public void testHelp() {
Outputs outputs = TestUtils.run("--help");
outputs.checkOutput("--help=options", "--help=links");
outputs.checkNoError();
checkNoStdFile();
}
@Test
public void testHelpOptions() {
Outputs outputs = TestUtils.run("--help=options");
outputs.checkNoError();
outputs.checkOutput("--mapname=name", "--latin1", "--list-styles");
checkNoStdFile();
}
@Test
public void testHelpUnknown() {
Outputs outputs = TestUtils.run("--help=unknown-help-option");
outputs.checkNoError();
outputs.checkOutput("Could not find", "unknown-help-option");
checkNoStdFile();
}
@Test
public void testListStyles() {
Outputs op = TestUtils.run("--style-file=test/resources/teststyles", "--list-styles");
op.checkNoError();
op.checkOutput("empty", "main", "simple", "derived", "2.2: A simple test style");
checkNoStdFile();
}
@Test
public void testListStylesVerbose() {
Outputs op = TestUtils.run("--style-file=test/resources/teststyles",
"--verbose", "--list-styles");
op.checkNoError();
op.checkOutput("empty", "main", "simple", "derived",
"2.2: A simple test style", "Used for many functional tests");
checkNoStdFile();
}
@Test
public void testDisplayPriority() throws FileNotFoundException {
TestUtils.registerFile("osmmap.img");
int pri = 42;
Outputs op = TestUtils.run("--draw-priority=" + pri,
Args.TEST_RESOURCE_OSM + "uk-test-1.osm.gz");
op.checkNoError();
FileSystem fs = openFs(Args.DEF_MAP_FILENAME);
ImgChannel chan = fs.open(Args.DEF_MAP_ID + ".TRE", "r");
TREFileReader treFile = new TREFileReader(chan);
assertEquals("display priority", pri, ((TREHeader) treFile.getHeader()).getDisplayPriority());
}
@Test
public void testNoDescription() {
Outputs op = TestUtils.run("--description", Args.TEST_RESOURCE_OSM + "uk-test-1.osm.gz");
op.checkNoError();
}
}