// This software is released into the Public Domain. See copying.txt for details.
package org.openstreetmap.osmosis.set.v0_6;
import java.io.File;
import java.io.IOException;
import org.junit.Test;
import org.openstreetmap.osmosis.core.Osmosis;
import org.openstreetmap.osmosis.testutil.AbstractDataTest;
/**
* Tests the change appender task.
*
* @author Brett Henderson
*/
public class ChangeAppenderTest extends AbstractDataTest {
/**
* Tests appending two change files into a single file.
*
* @throws IOException
* if any file operations fail.
*/
@Test
public void testAppend() throws IOException {
File sourceFile1;
File sourceFile2;
File expectedOutputFile;
File actualOutputFile;
// Generate files.
sourceFile1 = dataUtils.createDataFile("v0_6/append-change-in1.osc");
sourceFile2 = dataUtils.createDataFile("v0_6/append-change-in2.osc");
expectedOutputFile = dataUtils.createDataFile("v0_6/append-change-out.osc");
actualOutputFile = dataUtils.newFile();
// Append the two source files into the destination file.
Osmosis.run(
new String [] {
"-q",
"--read-xml-change-0.6",
sourceFile2.getPath(),
"--read-xml-change-0.6",
sourceFile1.getPath(),
"--append-change-0.6",
"--write-xml-change-0.6",
actualOutputFile.getPath()
}
);
// Validate that the output file matches the expected result.
dataUtils.compareFiles(expectedOutputFile, actualOutputFile);
}
}