| 44 | |
| 45 | |
| 46 | TEST(Ilvis2MetadataReaderTest, testReadMetadata) |
| 47 | { |
| 48 | Ilvis2MetadataReader reader; |
| 49 | MetadataNode n; |
| 50 | MetadataNodeList l,l1,l2,l3; |
| 51 | std::ofstream outfile; |
| 52 | |
| 53 | auto m = std::unique_ptr<MetadataNode>(new MetadataNode()); |
| 54 | reader.readMetadataFile(Support::datapath("ilvis2/ILVIS2_TEST_FILE.TXT.xml"), m.get()); |
| 55 | |
| 56 | n = m->children("GranuleUR")[0]; |
| 57 | EXPECT_EQ("SC:ILVIS2.001:51203496", n.value()); |
| 58 | |
| 59 | n = m->children("DbID")[0]; |
| 60 | EXPECT_EQ(51203496L, n.value<long>()); |
| 61 | |
| 62 | l = m->children("DataFile"); |
| 63 | EXPECT_EQ(std::size_t{2}, l.size()); |
| 64 | EXPECT_EQ("SHA1", l[1].children("ChecksumType")[0].value()); |
| 65 | |
| 66 | l = m->children("Campaign"); |
| 67 | EXPECT_EQ(std::size_t{2}, l.size()); |
| 68 | |
| 69 | l = m->children("PSA"); |
| 70 | EXPECT_EQ(std::size_t{3}, l.size()); |
| 71 | EXPECT_EQ("SIPSMetGenVersion", l[0].children("PSAName")[0].value()); |
| 72 | EXPECT_EQ("N426NA", l[2].children("PSAValue")[0].value()); |
| 73 | |
| 74 | l = m->children("BrowseProductGranuleId"); |
| 75 | EXPECT_EQ(std::size_t{2}, l.size()); |
| 76 | |
| 77 | l = m->children("PHProductGranuleId"); |
| 78 | EXPECT_EQ(std::size_t{1}, l.size()); |
| 79 | EXPECT_EQ("PH_ID", l[0].value()); |
| 80 | |
| 81 | l = m->children("Platform"); |
| 82 | EXPECT_EQ(std::size_t{1}, l.size()); |
| 83 | l1 = l[0].children("Instrument"); |
| 84 | EXPECT_EQ(std::size_t{1}, l1.size()); |
| 85 | EXPECT_EQ(std::size_t{2}, l1[0].children("OperationMode").size()); |
| 86 | EXPECT_EQ("Safe", l1[0].children("OperationMode")[1].value()); |
| 87 | l2 = l1[0].children("Sensor"); |
| 88 | EXPECT_EQ(std::size_t{1}, l2.size()); |
| 89 | l3 = l2[0].children("SensorCharacteristic"); |
| 90 | EXPECT_EQ(std::size_t{2}, l3.size()); |
| 91 | EXPECT_EQ("CharName1", l3[0].children("CharacteristicName")[0].value()); |
| 92 | EXPECT_EQ("MyValue", l3[1].children("CharacteristicValue")[0].value()); |
| 93 | |
| 94 | l = m->children("ConvexHull"); |
| 95 | EXPECT_EQ(std::size_t{1}, l.size()); |
| 96 | EXPECT_EQ(std::size_t{0}, l[0].value().find("POLYGON")); |
| 97 | } |