package mil.nga.giat.geowave.format.landsat8;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import mil.nga.giat.geowave.core.cli.parser.ManualOperationParams;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import it.geosolutions.jaiext.JAIExt;
public class AnalyzeRunnerTest
{
private PrintStream outBak = null;
private final ByteArrayOutputStream output = new ByteArrayOutputStream();
@Before
public void setUpStreams() {
outBak = System.out;
System.setOut(new PrintStream(
output));
}
@After
public void cleanUpStreams() {
System.setOut(outBak);
}
@Test
public void testExecute()
throws Exception {
JAIExt.initJAIEXT();
Landsat8BasicCommandLineOptions options = new Landsat8BasicCommandLineOptions();
options.setWorkspaceDir(Tests.WORKSPACE_DIR);
options.setUseCachedScenes(true);
options.setNBestScenes(1);
options.setCqlFilter("BBOX(shape,-76.6,42.34,-76.4,42.54) and band='BQA'");
new AnalyzeRunner(
options).runInternal(new ManualOperationParams());
String outputStr = new String(
output.toByteArray());
// Download Information
assertThat(
outputStr,
containsString("Acquisition Date: "));
assertThat(
outputStr,
containsString("Cloud Cover: "));
assertThat(
outputStr,
containsString("Scene Download URL: "));
// Totals Information
assertThat(
outputStr,
containsString("<-- Totals -->"));
assertThat(
outputStr,
containsString("Total Scenes: "));
assertThat(
outputStr,
containsString("Date Range: "));
assertThat(
outputStr,
containsString("Cloud Cover Range: "));
assertThat(
outputStr,
containsString("Average Cloud Cover: "));
assertThat(
outputStr,
containsString("WRS2 Paths/Rows covered: "));
assertThat(
outputStr,
containsString("Row Range: "));
assertThat(
outputStr,
containsString("Path Range: "));
assertThat(
outputStr,
containsString("Latitude Range: "));
assertThat(
outputStr,
containsString("Longitude Range: "));
assertThat(
outputStr,
containsString("Band BQA: "));
}
}