Skip to content
Snippets Groups Projects
Commit fafacd66 authored by Cédric Traizet's avatar Cédric Traizet
Browse files

ENH: add a test for the merge method of ImageMetadata

parent 09d3a30a
No related branches found
No related tags found
No related merge requests found
{{"ProductionDate": "2009-08-10T10:30:08.142149Z",
"Polarization": "Polarization",
"ProjectionWKT": "UTM projRef",
"Extra.Comment": "Test Extrakeys",
"SensorID": "SPOT",
}Bands[{"PhysicalBias": "1",
"PhysicalGain": "2",
"BandName": "B0",
"NoData": "-10000",
},{"PhysicalBias": "2",
"PhysicalGain": "3",
"BandName": "B1",
"SunAzimuth": "20",
"NoData": "-10000",
},]
}
\ No newline at end of file
......@@ -389,7 +389,15 @@ otb_add_test(NAME ioTuImageMetadataAppendTest COMMAND otbMetadataTestDriver
otbImageMetadataAppendTest
${TEMP}/ioTuImageMetadataAppendTest.txt
)
otb_add_test(NAME ioTuImageMetadataMergeTest COMMAND otbMetadataTestDriver
--compare-ascii ${NOTOL} ${BASELINE_FILES}/ioTuImageMetadataMergeTest.txt
${TEMP}/ioTuImageMetadataMergeTest.txt
otbImageMetadataTest
otbImageMetadataMergeTest
${TEMP}/ioTuImageMetadataMergeTest.txt
)
otb_add_test(NAME ioTuImageMetadataToFromKeywordlistTest COMMAND otbMetadataTestDriver
--compare-ascii ${NOTOL} ${BASELINE_FILES}/ioTuImageMetadataToFromKeywordlistTest.txt
${TEMP}/ioTuImageMetadataToFromKeywordlistTest.txt
......@@ -397,4 +405,4 @@ otb_add_test(NAME ioTuImageMetadataToFromKeywordlistTest COMMAND otbMetadataTest
otbImageMetadataToFromKeywordlistTest
${TEMP}/ioTuImageMetadataToFromKeywordlistTest.txt
)
\ No newline at end of file
......@@ -212,6 +212,32 @@ void otbImageMetadataAppendTest(char* argv[])
outfile.close();
}
void otbImageMetadataMergeTest(char* argv[])
{
using namespace otb;
const char* outFileName = argv[2];
std::ofstream outfile(outFileName);
ImageMetadata md;
SetUpImageMetadata(md, 2);
ImageMetadata md2;
SetUpImageMetadata(md2, 3);
// Modifies some fields to actually test something.
// The case where metadatas are identical is trivial in Merge()
md.Add(MDStr::SensorID, "SPOT");
md2.Add(MDStr::Polarization, "Polarization");
md2.Bands[0].Add(MDNum::PhysicalBias, 3.1);
md2.Bands[1].Add(MDNum::SunAzimuth, 20);
md.Merge(md2);
outfile << md;
outfile.close();
}
void otbImageMetadataToFromKeywordlistTest(char* argv[])
{
using namespace otb;
......@@ -270,19 +296,21 @@ void otbImageMetadataCompactTest(char* argv[])
int otbImageMetadataTest(int argc, char* argv[])
{
if (argc < 2)
return EXIT_FAILURE;
return EXIT_FAILURE;
std::string testName(argv[1]);
if(testName == "otbMetadataKeyTest")
otbMetadataKeyTest(argv);
otbMetadataKeyTest(argv);
else if (testName == "otbImageMetadataSliceTest")
otbImageMetadataSliceTest(argv);
otbImageMetadataSliceTest(argv);
else if (testName == "otbImageMetadataAppendTest")
otbImageMetadataAppendTest(argv);
otbImageMetadataAppendTest(argv);
else if (testName == "otbImageMetadataMergeTest")
otbImageMetadataMergeTest(argv);
else if (testName == "otbImageMetadataToFromKeywordlistTest")
otbImageMetadataToFromKeywordlistTest(argv);
otbImageMetadataToFromKeywordlistTest(argv);
else if (testName == "otbImageMetadataCompactTest")
otbImageMetadataCompactTest(argv);
otbImageMetadataCompactTest(argv);
else
{
std::cout << "Unknown test name " << testName;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment