///////////////////////////////////////////////////////////////////// // TestNoSqlDb.cpp - demonstrate NoSqlDb requirements // // ver 1.0 // // Jim Fawcett, CSE687 - Object Oriented Design, Spring 2017 // ///////////////////////////////////////////////////////////////////// #include "TestNoSqlDb.h" #include "../Utilities/Utilities.h" #include "../Queries/Queries.h" #include "../Display/Display.h" #include #include using namespace NoSQLDB; using namespace Utilities; NoSQLDB::NoSqlDb& TestDBString::makeTestStringDb() { // Ashok, Jiang, Joe, Sam, Veronica NoSQLDB::Element elem1; elem1.name = "Joe"; elem1.category = "test"; elem1.dateTime = DateTime(); elem1.children.getValue().push_back("Ashok"); elem1.children.getValue().push_back("Jiang"); elem1.children.getValue().push_back("Sam"); elem1.data.getValue() = Utilities::Convert::fromString("test1"); NoSQLDB::Element elem2; elem2.name = "Ashok"; elem2.category = "test"; elem2.dateTime = DateTime(); elem2.children.getValue().push_back("Veronica"); elem2.children.getValue().push_back("Jiang"); elem2.data.getValue() = Utilities::Convert::fromString("test2"); NoSQLDB::Element elem3; elem3.name = "Veronica"; elem3.category = "test"; elem3.dateTime = DateTime(); elem3.children.getValue().push_back("Ashok"); elem3.children.getValue().push_back("Joe"); elem3.children.getValue().push_back("Sam"); elem3.data.getValue() = Utilities::Convert::fromString("test3"); NoSQLDB::Element elem4; elem4.name = "Jiang"; elem4.category = "test"; elem4.dateTime = DateTime(); elem4.children.getValue().push_back("Ashok"); elem4.children.getValue().push_back("Veronica"); elem4.data.getValue() = Utilities::Convert::fromString("test4"); NoSQLDB::Element elem5; elem5.name = "Sam"; elem5.category = "test"; elem5.dateTime = DateTime(); //elem5.children.getValue().push_back("Ashok"); elem5.data.getValue() = Utilities::Convert::fromString("test5"); static NoSQLDB::NoSqlDb db; db.saveRecord(elem1.name, elem1); db.saveRecord(elem2.name, elem2); db.saveRecord(elem3.name, elem3); db.saveRecord(elem4.name, elem4); db.saveRecord(elem5.name, elem5); return db; } NoSQLDB::NoSqlDb& TestDBString::makeTestSuperHeroDb() { NoSQLDB::SuperHero Batman; Batman.name = "Batman"; Batman.power = 5; NoSQLDB::Element elem1; elem1.name = "Batman"; elem1.category = "Superhero"; elem1.dateTime = DateTime(); elem1.data = Batman; NoSQLDB::SuperHero Thor; Thor.name = "Thor"; Thor.power = 3; NoSQLDB::Element elem2; elem2.name = "Thor"; elem2.category = "Superhero"; elem2.dateTime = DateTime(); elem2.data = Thor; static NoSQLDB::NoSqlDb db; db.saveRecord("Batman", elem1); db.saveRecord("Thor", elem2); return db; } NoSQLDB::NoSqlDb TestDBString::makeProject1Db() { using namespace NoSQLDB; NoSqlDb projDB; Element elem; Key key = "TestNoSqlDb"; elem.name = key; elem.category = "Package"; elem.dateTime = DateTime().now(); elem.saveChild("NoSqlDb"); elem.saveChild("Persist"); elem.saveChild("Queries"); elem.saveChild("Display"); elem.saveChild("DateTime"); elem.data = "TestNoSqlDb data"; projDB.saveRecord(key, elem); key = "NoSqlDb"; elem.name = key; elem.category = "Package"; elem.dateTime = DateTime().now(); elem.children.getValue().clear(); elem.saveChild("DateTime"); elem.data = "NoSqlDb data"; projDB.saveRecord(key, elem); key = "Persist"; elem.name = key; elem.category = "Package"; elem.dateTime = DateTime().now(); elem.children.getValue().clear(); elem.saveChild("DateTime"); elem.saveChild("NoSqlDb"); elem.saveChild("XmlUtilities"); elem.data = "Persist data"; projDB.saveRecord(key, elem); key = "Queries"; elem.name = key; elem.category = "Package"; elem.dateTime = DateTime().now(); elem.children.getValue().clear(); elem.saveChild("Display"); elem.saveChild("NoSqlDb"); elem.saveChild("StoredProcedures"); elem.data = "Queries data"; projDB.saveRecord(key, elem); key = "Display"; elem.name = key; elem.category = "Package"; elem.dateTime = DateTime().now(); elem.children.getValue().clear(); elem.saveChild("Queries"); elem.saveChild("NoSqlDb"); elem.data = "Display data"; projDB.saveRecord(key, elem); key = "DateTime"; elem.name = key; elem.category = "Package"; elem.dateTime = DateTime().now(); elem.children.getValue().clear(); elem.data = "DateTime data"; projDB.saveRecord(key, elem); key = "StoredProcedures"; elem.name = key; elem.category = "Package"; elem.dateTime = DateTime().now(); elem.children.getValue().clear(); elem.data = "StoredProcedures data"; projDB.saveRecord(key, elem); key = "XmlUtilities"; elem.name = key; elem.category = "Package"; elem.dateTime = DateTime().now(); elem.children.getValue().clear(); elem.data = "XmlUtilities data"; projDB.saveRecord(key, elem); return projDB; } int main() { Title("Testing NoSqlDb - InstrSol-Project1-S2017"); subTitle("Jim Fawcett"); subTitle(DateTime().now()); putLines(1); TestDBString test; test.DemoReq1(); test.DemoReq2(); test.DemoReq3(); test.DemoReq4(); test.DemoReq5(); test.DemoReq6(); test.DemoReq7(); test.DemoReq8(); test.DemoReq9(); test.DemoReq10(); test.DemoReq11(); test.DemoReq12(); //Query query(db); std::cout << "\n\n"; }