test.cc 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "data.h"
  2. #include "data_def.h"
  3. #include <fstream>
  4. using namespace std;
  5. using namespace isc::data;
  6. int
  7. main(int argc, char **argv) {
  8. std::ifstream file;
  9. std::stringstream ss;
  10. DataDefinition def;
  11. ElementPtr data;
  12. file.open("parkinglot.spec");
  13. if (!file) {
  14. cout << "error opening parkinglot.spec" << endl;
  15. return 1;
  16. }
  17. try {
  18. def = DataDefinition(file);
  19. cout << "Definition: " << endl;
  20. cout << def.getDefinition() << endl;
  21. } catch (ParseError pe) {
  22. cout << "Error parsing definition file: " << pe.what() << endl;
  23. return 1;
  24. } catch (DataDefinitionError dde) {
  25. cout << "Error reading definition file: " << dde.what() << endl;
  26. return 1;
  27. }
  28. file.close();
  29. file.open("parkinglot.data");
  30. if (!file) {
  31. cout << "error opening parkinglot.data" << endl;
  32. return 1;
  33. }
  34. try {
  35. data = Element::createFromString(file);
  36. cout << "Data: " << endl;
  37. cout << data << endl;
  38. } catch (ParseError pe) {
  39. cout << "Error parsing data file: " << pe.what() << endl;
  40. return 1;
  41. }
  42. if (def.validate(data)) {
  43. cout << "Data validated" << endl;
  44. } else {
  45. cout << "Error in data validation" << endl;
  46. }
  47. file.close();
  48. }