public static void Main(string[] args) { "Testing Item Editor Package".title('='); Console.WriteLine(); DBEngine <int, DBElement <int, List <string> > > dbPay = new DBEngine <int, DBElement <int, List <string> > >(); DBElement <int, List <string> > elemPayload = new DBElement <int, List <string> >(); elemPayload.name = "Element4"; elemPayload.descr = "test element4"; elemPayload.timeStamp = DateTime.Now; elemPayload.children.AddRange(new List <int> { 1, 2, 3 }); elemPayload.payload = new List <string>(); elemPayload.payload.AddRange(new List <string> { "Project 2", " ", "demo", " ", "starts" }); //elem.showElement(); dbPay.insert(4, elemPayload); DBElement <int, List <string> > elemPayload2 = new DBElement <int, List <string> >(); elemPayload2.name = "Element5"; elemPayload2.descr = "test element5"; elemPayload2.timeStamp = DateTime.Now; elemPayload2.children.AddRange(new List <int> { 98, 22, 35 }); elemPayload2.payload = new List <string>(); elemPayload2.payload.AddRange(new List <string> { "we", "rock", "the", "world" }); //elem.showElement(); dbPay.insert(5, elemPayload2); dbPay.showEnumerableDB(); Console.WriteLine(); ItemEditor <int, string> itemEdit = new ItemEditor <int, string>(); itemEdit.edit(4, "name", "updated", dbPay); itemEdit.edit(4, "descr", "updated", dbPay); List <int> child = new List <int> { 3, 2, 1 }; itemEdit.editChildern(4, "childern", child, dbPay); List <string> payLoad = new List <string> { "Update", " ", "demo", " ", "starts" }; itemEdit.editPayload(4, "pay-load", payLoad, dbPay); dbPay.showEnumerableDB(); }
void TestR2() { "Demonstrating Requirement #2".title(); WriteLine("\nKey/Value database with key of type 'int' and data of type 'string'"); db.showDB(); WriteLine("\n\nKey/Value database with key of type 'int' and data of type 'list of string'"); dbPay.showEnumerableDB(); WriteLine("\n\nKey/Value database with key of type 'string' and data of type 'list of string'"); dbString.showEnumerableDB(); WriteLine(); }
void TestR5() { "Demonstrating Requirement #5".title(); WriteLine(); WriteLine("Persisting Database in to the XML\n"); PersistEngine <string> test = new PersistEngine <string>(); // persisting XML test.createXML(dbString); "Demonstrating Augmenting back from XML #5".title(); ReadXml <string> testRead = new ReadXml <string>(); Console.WriteLine("\nReading the XML\n"); // reading xml testRead.readXml(dbRead); WriteLine(); WriteLine("Displaying DB contents after reading the XML"); dbRead.showEnumerableDB(); WriteLine(); }
static void Main(string[] args) { DBEngine <string, DBElement <string, List <string> > > dbRead = new DBEngine <string, DBElement <string, List <string> > >(); ReadXml <string> test = new ReadXml <string>(); DBEngine <string, DBElement <string, List <string> > > dbPay = new DBEngine <string, DBElement <string, List <string> > >(); DBEngine <int, DBElement <int, List <string> > > db = new DBEngine <int, DBElement <int, List <string> > >(); ReadXml <string> test2 = new ReadXml <string>(); ReadXml <int> test1 = new ReadXml <int>(); test1.readXml(db); Console.WriteLine(); Console.WriteLine(); db.showEnumerableDB(); dbPay.showEnumerableDB(); WriteLine(); }
void TestR9() { "\nProject dependancy and realtionships".title(); WriteLine(); try { Console.WriteLine("\nBelow details provide information on dependancy of every package in the project\n"); pEngineString = new PersistEngine <string, DBElement <string, List <string> > >(dependancyDb); pEngineString.displayDependancy(); dependancyDb.showEnumerableDB(); WriteLine(); } catch (Exception e) { WriteLine("\n" + e.Message + "\n"); } }
static void Main(string[] args) { "Testing DBEngine Package".title('=');; WriteLine(); "Test db of scalar elements".title(); WriteLine(); DBElement <int, string> elem1 = new DBElement <int, string>(); elem1.payload = "a payload"; DBElement <int, string> elem2 = new DBElement <int, string>("Darth Vader", "Evil Overlord"); elem2.payload = "The Empire strikes back!"; var elem3 = new DBElement <int, string>("Luke Skywalker", "Young HotShot"); elem3.payload = "X-Wing fighter in swamp - Oh oh!"; if (verbose) { Write("\n --- Test DBElement<int,string> ---"); WriteLine(); elem1.showElement(); WriteLine(); elem2.showElement(); WriteLine(); elem3.showElement(); WriteLine(); /* ElementFormatter is not ready for prime time yet */ //Write(ElementFormatter.formatElement(elem1.showElement<int, string>(), false)); } Write("\n --- Test DBEngine<int,DBElement<int,string>> ---"); WriteLine(); int key = 0; Func <int> keyGen = () => { ++key; return(key); }; DBEngine <int, DBElement <int, string> > db = new DBEngine <int, DBElement <int, string> >(); bool p1 = db.insert(keyGen(), elem1); bool p2 = db.insert(keyGen(), elem2); bool p3 = db.insert(keyGen(), elem3); if (p1 && p2 && p3) { Write("\n all inserts succeeded"); } else { Write("\n at least one insert failed"); } db.showDB(); WriteLine(); "Test db of enumerable elements".title(); WriteLine(); DBElement <string, List <string> > newelem1 = new DBElement <string, List <string> >(); newelem1.name = "newelem1"; newelem1.descr = "test new type"; newelem1.payload = new List <string> { "one", "two", "three" }; DBElement <string, List <string> > newerelem1 = new DBElement <string, List <string> >(); newerelem1.name = "newerelem1"; newerelem1.descr = "better formatting"; newerelem1.payload = new List <string> { "alpha", "beta", "gamma" }; newerelem1.payload.Add("delta"); newerelem1.payload.Add("epsilon"); DBElement <string, List <string> > newerelem2 = new DBElement <string, List <string> >(); newerelem2.name = "newerelem2"; newerelem2.descr = "better formatting"; newerelem2.children.AddRange(new List <string> { "first", "second" }); newerelem2.payload = new List <string> { "a", "b", "c" }; newerelem2.payload.Add("d"); newerelem2.payload.Add("e"); if (verbose) { Write("\n --- Test DBElement<string,List<string>> ---"); WriteLine(); newelem1.showEnumerableElement(); WriteLine(); newerelem1.showEnumerableElement(); WriteLine(); newerelem2.showEnumerableElement(); WriteLine(); } Write("\n --- Test DBEngine<string,DBElement<string,List<string>>> ---"); int seed = 0; string skey = seed.ToString(); Func <string> skeyGen = () => { ++seed; skey = "string" + seed.ToString(); skey = skey.GetHashCode().ToString(); return(skey); }; DBEngine <string, DBElement <string, List <string> > > newdb = new DBEngine <string, DBElement <string, List <string> > >(); newdb.insert(skeyGen(), newelem1); newdb.insert(skeyGen(), newerelem1); newdb.insert(skeyGen(), newerelem2); newdb.showEnumerableDB(); Write("\n\n"); }
static void Main(string[] args) { "Testing PersistEngine Package".title('='); WriteLine(); DBEngine <int, DBElement <int, string> > db = new DBEngine <int, DBElement <int, string> >(); "\nSave to an XML file".title(); DBElement <int, string> elem1 = new DBElement <int, string>(); elem1.name = "Usain Bolt"; elem1.descr = "Athelte"; elem1.timeStamp = DateTime.Now; elem1.children.AddRange(new List <int> { 2 }); elem1.payload = "Fastest in the world"; db.insert(1, elem1); DBElement <int, string> elem2 = new DBElement <int, string>(); elem2.name = "Saina Nehwal"; elem2.descr = "Badminton Player"; elem2.timeStamp = DateTime.Now; elem2.children.AddRange(new List <int> { 1 }); elem2.payload = "Famous badminton player"; db.insert(2, elem2); db.showDB(); WriteLine(); dynamic allKeys = db.Keys(); PersistEngine <int, DBElement <int, string> > pEngine = new PersistEngine <int, DBElement <int, string> >(db); pEngine.persistToXML(allKeys); WriteLine("\n\nAbove database is stored as XML file in local machine"); WriteLine(); WriteLine("\nThe persisted XML file along with new key/value pairs are augmented to the database.\n"); WriteLine("Below shown key/value pairs are augmented to the database.\n"); pEngine.augmentDatabaseFromXML(db); //Augment the persisted database along with new values to the main database pEngine.persistToXML(allKeys); db.showDB(); WriteLine(); WriteLine(); "\nPersist database every 5 seconds until its cancelled".title(); WriteLine(); pEngine.scheduledSaveDatabase(); WriteLine(); WriteLine(); "\nProject dependancy and realtionships".title(); WriteLine(); DBEngine <string, DBElement <string, List <string> > > dependancyDb = new DBEngine <string, DBElement <string, List <string> > >(); PersistEngine <string, DBElement <string, List <string> > > pEngineString = new PersistEngine <string, DBElement <string, List <string> > >(dependancyDb); try { Console.WriteLine("\nBelow details provide information on dependancy of every package in the project\n"); pEngine.displayDependancy(); dependancyDb.showEnumerableDB(); WriteLine(); } catch (Exception e) { WriteLine("\n" + e.Message + "\n"); } }
void TestR7() { "\n1) Fetch Value for key 3".title(); var val = db.getValueOfKey(3); val.showElement(); WriteLine(); qEngine = new QueryEngine <int, DBElement <int, string> >(db); "\n2) Fetch the children of key 1".title(); var children = qEngine.getChildrenOfKey(1); displayChildren(children); "\n3) Fetch the keys which starts with r in the below database with key/value pairs".title(); //Taking new database with string keys DBElement <string, List <string> > elem = new DBElement <string, List <string> >(); elem.name = "Christ college"; elem.descr = "College where the person studied"; elem.timeStamp = DateTime.Now; elem.children.AddRange(new List <string> { "rakesh" }); elem.payload = new List <string> { "One", "Two", "Three", "Four" }; dbString.insert("saahith", elem); DBElement <string, List <string> > elem1 = new DBElement <string, List <string> >(); elem1.name = "PESIT college"; elem1.descr = "College where the person pursued undergraduation"; elem1.timeStamp = DateTime.Now.AddDays(-2); elem1.children.AddRange(new List <string> { "saahith" }); elem1.payload = new List <string> { "Five", "Six", "Seven", "Eight" }; dbString.insert("rakesh", elem1); dbString.showEnumerableDB(); WriteLine(); qEngine2 = new QueryEngine <string, DBElement <string, List <string> > >(dbString); string pattern1 = @"(^r)"; var spKeys = qEngine2.getListStringKeyPattern(pattern1); displayStringKeys(spKeys); "\n4) Fetch keys with metadata pattern 'Name'".title(); string pattern = "Name"; var mdKeys = qEngine.getListMetaDataPattern(pattern); displayKeys(mdKeys); "\n5) Fetch keys which are created between two dates 29th sept 2015 and 15th oct 2015".title(); DateTime time1 = new DateTime(2015, 9, 29); DateTime time2 = new DateTime(2015, 10, 15); var tpKeys = qEngine.getListTimePattern(time1, time2); displayKeys(tpKeys); }
static void Main(string[] args) { "Testing ItemEditor Package".title('='); Console.WriteLine(); DBEngine <int, DBElement <int, string> > db = new DBEngine <int, DBElement <int, string> >(); DBElement <int, string> elem1 = new DBElement <int, string>(); elem1.name = "India"; elem1.descr = "Country"; elem1.timeStamp = DateTime.Now; elem1.children.AddRange(new List <int> { 2, 3 }); elem1.payload = "Famous cricket player"; db.insert(1, elem1); DBElement <int, string> elem2 = new DBElement <int, string>(); //Add new key/value pairs to the database elem2.name = "Roger federer"; elem2.descr = "Tennis player"; elem2.timeStamp = DateTime.Now.AddDays(-15); elem2.children.AddRange(new List <int> { 3 }); elem2.payload = "Famous tennis player"; db.insert(2, elem2); DBElement <int, string> elem3 = new DBElement <int, string>(); elem3.name = "Usain Bolt"; elem3.descr = "Athelte"; elem3.timeStamp = DateTime.Now; elem3.children.AddRange(new List <int> { 1 }); elem3.payload = "Fastest in the world"; db.insert(3, elem3); Console.WriteLine(); db.showDB(); "\n1) Fetch Value for key 3".title(); var val = db.getValueOfKey(3); val.showElement(); Console.WriteLine(); QueryEngine <int, DBElement <int, string> > qEngine = new QueryEngine <int, DBElement <int, string> >(db); "\n2) Fetch the children of key 1".title(); var children = qEngine.getChildrenOfKey(1); displayChildren(children); DBEngine <string, DBElement <string, List <string> > > db2 = new DBEngine <string, DBElement <string, List <string> > >(); "\n 3) Fetch the keys which starts with r in the below database with key/value pairs".title(); //Taking new database with string keys DBElement <string, List <string> > elem4 = new DBElement <string, List <string> >(); elem4.name = "Christ college"; elem4.descr = "College where the person studied"; elem4.timeStamp = DateTime.Now; elem4.children.AddRange(new List <string> { "rakesh" }); elem4.payload = new List <string> { "One", "Two", "Three", "Four" }; db2.insert("saahith", elem4); DBElement <string, List <string> > elem5 = new DBElement <string, List <string> >(); elem5.name = "PESIT college"; elem5.descr = "College where the person pursued undergraduation"; elem5.timeStamp = DateTime.Now.AddDays(-2); elem5.children.AddRange(new List <string> { "saahith" }); elem5.payload = new List <string> { "Five", "Six", "Seven", "Eight" }; db2.insert("rakesh", elem5); db2.showEnumerableDB(); WriteLine(); QueryEngine <string, DBElement <string, List <string> > > qEngine2 = new QueryEngine <string, DBElement <string, List <string> > >(db2); string pattern1 = @"(^r)"; var spKeys = qEngine2.getListStringKeyPattern(pattern1); displayStringKeys(spKeys); "\n4) Fetch keys with metadata pattern 'Country'".title(); string pattern = "Country"; var mdKeys = qEngine.getListMetaDataPattern(pattern); displayKeys(mdKeys); "\n5) Fetch keys which are created between two dates 29th sept 2015 and 15th oct 2015".title(); DateTime time1 = new DateTime(2015, 9, 29); DateTime time2 = new DateTime(2015, 10, 15); var tpKeys = qEngine.getListTimePattern(time1, time2); displayKeys(tpKeys); }