1c83c4dc3SPatrick Venture #include <defines.hpp>
2c83c4dc3SPatrick Venture #include <store.hpp>
3e12b181bSSunnySrivastava1984 #include <vpd-parser/ipz_parser.hpp>
479f9eee0SDeepak Kodihalli 
5*c78d887cSPatrick Williams #include <cassert>
6*c78d887cSPatrick Williams #include <fstream>
7*c78d887cSPatrick Williams #include <iterator>
8*c78d887cSPatrick Williams 
runTests()979f9eee0SDeepak Kodihalli void runTests()
1079f9eee0SDeepak Kodihalli {
1179f9eee0SDeepak Kodihalli     using namespace openpower::vpd;
12e12b181bSSunnySrivastava1984     using namespace openpower::vpd::ipz::parser;
1379f9eee0SDeepak Kodihalli     // Test parse() API
1479f9eee0SDeepak Kodihalli     {
1579f9eee0SDeepak Kodihalli         std::ifstream vpdFile("test.vpd", std::ios::binary);
1679f9eee0SDeepak Kodihalli         Binary vpd((std::istreambuf_iterator<char>(vpdFile)),
1779f9eee0SDeepak Kodihalli                    std::istreambuf_iterator<char>());
1879f9eee0SDeepak Kodihalli 
19e12b181bSSunnySrivastava1984         IpzVpdParser ipzParser(std::move(vpd));
20e12b181bSSunnySrivastava1984         auto vpdStore = std::move(std::get<Store>(ipzParser.parse()));
2179f9eee0SDeepak Kodihalli 
22c83c4dc3SPatrick Venture         assert(("P012" == vpdStore.get<Record::VINI, record::Keyword::CC>()));
23ee79ca84SGeorge Liu         assert(("2019-01-01-08:30:00" ==
24ee79ca84SGeorge Liu                 vpdStore.get<Record::VINI, record::Keyword::MB>()));
2579f9eee0SDeepak Kodihalli     }
2679f9eee0SDeepak Kodihalli }
2779f9eee0SDeepak Kodihalli 
main()2879f9eee0SDeepak Kodihalli int main()
2979f9eee0SDeepak Kodihalli {
3079f9eee0SDeepak Kodihalli     runTests();
3179f9eee0SDeepak Kodihalli 
3279f9eee0SDeepak Kodihalli     return 0;
3379f9eee0SDeepak Kodihalli }
34