void TestR3()//addition and deletion of key/value pairs { "Demonstrating Requirement #3".title(); WriteLine(); Write("\n --- Test addition of key/value pairs Start---"); WriteLine(); DBElement <int, string> elem1 = new DBElement <int, string>(); elem1.name = "element#1";//add a new key/value pairs elem1.descr = "test element#1"; elem1.timeStamp = DateTime.Now; elem1.children.AddRange(new List <int> { 6, 8 }); elem1.payload = "elem#1's payload"; elem1.showElement(); db.insert(2, elem1); Write("\n\n Show key/value pairs in data base:\n"); db.showDB(); WriteLine(); Write("\n --- Test addition of key/value pairs End---"); WriteLine(); Write("\n --- Test deletion of key/value pairs Start---"); WriteLine(); db.delete(1);//delete an existing key/value pairs Write("\n\n Show key/value pairs in data base:\n"); db.showDB(); WriteLine(); db.delete(100);//try to delete a key/value pairs that doesn't exist Write("\n --- Test deletion of key/value pairs End---"); WriteLine(); }
static void Main(string[] args) { "Testing DBElement Package".title('='); WriteLine(); Write("\n --- Test DBElement<int,string> ---"); WriteLine(); DBElement <int, string> elem1 = new DBElement <int, string>(); Write(elem1.showElement <int, string>()); WriteLine(); DBElement <int, string> elem2 = new DBElement <int, string>("Darth Vader", "Evil Overlord"); elem2.payload = "The Empire strikes back!"; Write(elem2.showElement <int, string>()); WriteLine(); var elem3 = new DBElement <int, string>("Luke Skywalker", "Young HotShot"); elem3.children = new List <int> { 1, 2, 7 }; elem3.payload = "X-Wing fighter in swamp - Oh oh!"; Write(elem3.showElement <int, string>()); WriteLine(); Write("\n --- Test DBElement<string,List<string>> ---"); 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" }; Write(newelem1.showElement <string, List <string>, string>()); WriteLine(); DBElement <string, List <string> > newerelem1 = new DBElement <string, List <string> >(); newerelem1.name = "newerelem1"; newerelem1.descr = "same stuff"; newerelem1.children.Add("first_key"); newerelem1.children.Add("second_key"); newerelem1.payload = new List <string> { "alpha", "beta", "gamma" }; newerelem1.payload.AddRange(new[] { "delta", "epsilon" }); Write(newerelem1.showElement <string, List <string>, string>()); WriteLine(); Write("\n\n"); }
/* * show DB factory data. */ public void showDBFactory() { foreach (Key key in dbStore.Keys) { Value value = dbStore[key]; DBElement<int, ListOfStrings> elem = value as DBElement<int, ListOfStrings>; Write("\n\n -- key = {0} --", key); elem.showElement(); } }
//----< write simple db elements out to Console >------------------ public static void show <Key, Value, Data>(this DBEngine <Key, Value> db) { foreach (Key key in db.Keys()) { Value value; db.getValue(key, out value); DBElement <Key, Data> elem = value as DBElement <Key, Data>; Write("\n\n -- key = {0} --", key); Write(elem.showElement()); } }
//----< write simple db elements out to Console >------------------ public static void showDictionaryData <Key, Value, Data>(this Dictionary <Key, Value> db) { foreach (Key key in db.Keys) { Value value; value = db[key]; DBElement <int, List <string> > elem = value as DBElement <int, List <string> >; Write("\n\n -- key = {0} --", key); Write(elem.showElement()); } }
//----< write enumerable db elements out to Console >-------------- public static void show <Key, Value, Data, T>(this DBFactory <Key, Value> db) where Data : IEnumerable <T> { foreach (Key key in db.Keys()) { Value value; db.getValue(key, out value); DBElement <Key, Data> elem = value as DBElement <Key, Data>; Write("\n\n -- key = {0} --", key); Write(elem.showElement <Key, Data, T>()); } }
void testR2() { "Demonstrating Requirement #2".title(); DBElement <int, String> elem = new DBElement <int, string>(); elem.name = "text element"; elem.descr = "descr"; elem.timeStamp = DateTime.Now; elem.payload = "elem's payload"; elem.children.AddRange(new [] { 1, 2, 3 }); elem.showElement(); db.insert(1, elem); db.showDB(); WriteLine(); }
//private DBEngine<int, DBElement<int, string>> db2 = new DBEngine<int, DBElement<int, string>>(); void TestR2() { "Demonstrating Requirement #2".title(); DBElement <int, string> elem = new DBElement <int, string>(); elem.name = "element"; elem.descr = "test element"; elem.timeStamp = DateTime.Now; elem.children.AddRange(new List <int> { 1, 2, 3 }); elem.payload = "elem's payload"; elem.showElement(); db.insert(1, elem); Write("\n\n Show key/value pairs in data base:\n"); db.showDB(); WriteLine(); }
void TestR4() //support editing of value including the addition and/or deletion of relationships, //editing text metadata and replacing an existing value's instance with a new instance { "Demonstrating Requirement #4".title(); DBElement <int, string> temp = new DBElement <int, string>(); ItemEditor <int, string> editItem; if (db.containsKey(2)) { db.getValue(2, out temp); Write("\n\n --- value before modified---\n"); temp.showElement(); editItem = new ItemEditor <int, string>(temp); editItem.nameEdit("newName!!"); //edit the name of the value with key 2 editItem.descrEdit("new description!!"); //edit description editItem.dateTimeEdit(); //update timeStamp editItem.addRelationship(18); //add relationship editItem.deleteRelationship(6); //delete relationship editItem.payloadEdit("new payload!!"); //modify payload DBElement <int, string> elemNew = new DBElement <int, string>(); editItem.replaceWithInstance(out elemNew); // replace an existing value's instance with a new instance temp = null; Write("\n\n --- value after modified---\n"); elemNew.showElement(); editItem = null; } else { Write("Value not found!"); } //Write("\n\n Show key/value pairs in data base:\n"); //db.showDB(); WriteLine(); WriteLine(); }
void TestR2() { DBElement <int, string> elem = new DBElement <int, string>(); elem.name = "India"; elem.descr = "Country"; elem.timeStamp = DateTime.Now; elem.children.AddRange(new List <int> { 2, 3 }); elem.payload = "Famous cricket player"; WriteLine(); "1) The element is as shown below".title(); elem.showElement(); db.insert(1, elem); WriteLine(); "2) The key Value pair is shown below".title(); db.showDB(); WriteLine(); }
void TestR4() { " Demonstrating Requirement #4 ".title('='); WriteLine(); "Before edit of Key=2 and Key=4 values.".title('-'); DBElement <int, ListOfStrings> oldElement = db1.Dictionary[2]; oldElement.showElement(); ItemEditor <int, ListOfStrings> itemEditor = new ItemEditor <int, ListOfStrings>(); // Creates a DateTime for the local time. itemEditor.editByName(ref db1, 2, "edited name for key=2"); itemEditor.editByChild(ref db1, 2, new List <int> { 205, 206, 207, 208, 209, 210 }); itemEditor.editByDescr(ref db1, 2, "edited descr for key=2"); DBElement <int, ListOfStrings> newElement123d = db1.Dictionary[2]; newElement123d.showElement(); itemEditor.editPayloadByListOfString(ref db1, 2, new List <string> { "CSE681_2_New", "SMA_2_New", "C#.net_2_New", "AI_2_New" }); DateTime newTime = new DateTime(1990, 6, 15, 0, 0, 0); itemEditor.editByTime(ref db1, 4, newTime); DateTime newTime2 = new DateTime(1990, 6, 16, 0, 0, 0); itemEditor.editByTime(ref db1, 2, newTime2); "After edit of Key = 2 and Key = 4 values.".title('-'); WriteLine(); WriteLine("You can see in updated element, Name,description,children,time and payload attributes are changed."); DBElement <int, ListOfStrings> newElement1 = db1.Dictionary[2]; DBElement <int, ListOfStrings> newElement2 = db1.Dictionary[4]; newElement1.showElement(); newElement2.showElement(); WriteLine(); }
static void Main(string[] args) { "Testing DBExtensions Package".title('='); WriteLine(); Write("\n --- Test DBElement<int,string> ---"); DBElement <int, string> elem1 = new DBElement <int, string>(); elem1.payload = "a payload"; Write(elem1.showElement <int, string>()); DBEngine <int, DBElement <int, string> > dbs = new DBEngine <int, DBElement <int, string> >(); dbs.insert(1, elem1); dbs.show <int, DBElement <int, string>, string>(); WriteLine(); Write("\n --- Test DBElement<string,List<string>> ---"); DBElement <string, List <string> > newelem1 = new DBElement <string, List <string> >(); newelem1.name = "newelem1"; newelem1.descr = "test new type"; newelem1.children = new List <string> { "Key1", "Key2" }; newelem1.payload = new List <string> { "one", "two", "three" }; Write(newelem1.showElement <string, List <string>, string>()); DBEngine <string, DBElement <string, List <string> > > dbe = new DBEngine <string, DBElement <string, List <string> > >(); dbe.insert("key1", newelem1); dbe.show <string, DBElement <string, List <string> >, List <string>, string>(); Write("\n\n"); }
public static void showEnumerableElement(this DBElement <string, List <string> > enumElement) { Console.Write(enumElement.showElement <string, List <string>, string>()); }
static void Main(string[] args) { "Testing Payload Wrapper".title('='); WriteLine(); ListOfStrings los = new ListOfStrings(); los.theWrappedData.AddRange(new List <string> { "one", "two", "three" }); "showing List of strings:".title(); foreach (string item in los.theWrappedData) { Write("\n {0}", item); } WriteLine(); "Output from PayloadWrapper.ToString()".title(); Write("\n{0}", los.ToString()); //WriteLine(); "output from PayloadWrapper.ToXml()".title(); Write("\n{0}", los.ToXml()); WriteLine(); "output from elem.showElement<string, ListOfStrings>()".title(); DBElement <string, ListOfStrings> elem = new DBElement <string, ListOfStrings>(); elem.name = "test element"; elem.descr = "created to test PayloadWrapper"; elem.payload = new ListOfStrings(); elem.payload.theWrappedData = new List <string> { "alpha", "beta", "gamma", "delta", "epsilon" }; Write(elem.showElement <string, ListOfStrings>()); ///////////////////////////////////////////////////////////////////// // The sequence of statements below should be turned into an // extension method: static public void clone(this List<string>) // "test cloning elem".title('='); WriteLine(); DBElement <string, ListOfStrings> cloned = new DBElement <string, ListOfStrings>(); cloned.name = String.Copy(elem.name); cloned.descr = String.Copy(elem.descr); cloned.timeStamp = DateTime.Parse(elem.timeStamp.ToString()); cloned.children = new List <string>(); cloned.children.AddRange(elem.children); cloned.payload = elem.payload.clone() as ListOfStrings; "output from elem.showElement<string, ListOfStrings>()".title(); Write(elem.showElement <string, ListOfStrings>()); "output from cloned.showElement<string, ListOfStrings>()".title(); Write(cloned.showElement <string, ListOfStrings>()); //"Hashcodes are not reliable object identifiers".title(); //Write(string.Format("\n hashcode of elem = {0}", elem.GetHashCode())); //Write(string.Format("\n hashcode of elem.name = {0}", elem.name.GetHashCode())); //Write(string.Format("\n hashcode of elem.descr = {0}", elem.descr.GetHashCode())); //Write(string.Format("\n hashcode of elem.payload = {0}", elem.payload.GetHashCode())); //WriteLine(); //Write(string.Format("\n hashcode of cloned = {0}", cloned.GetHashCode())); //Write(string.Format("\n hashcode of cloned.name = {0}", cloned.name.GetHashCode())); //Write(string.Format("\n hashcode of cloned.descr = {0}", cloned.descr.GetHashCode())); //Write(string.Format("\n hashcode of cloned.payload = {0}", cloned.payload.GetHashCode())); //WriteLine(); "testing for equality immediately after cloning".title(); showEquality(cloned.name, elem.name, "cloned.name vs. elem.name"); showEquality(cloned.descr, elem.descr, "cloned.descr vs. elem.descr"); showDateTimeEquality(cloned.timeStamp, elem.timeStamp, "cloned.timeStamp vs. elem.timeStamp"); showListEquality(cloned.children, elem.children, "cloned.children vs. elem.children"); showListEquality <string>(cloned.payload.theWrappedData, elem.payload.theWrappedData, "cloned.payload vs. elem.payload"); WriteLine(); "modifying clone's properties".title(); WriteLine(); cloned.name = cloned.name + " modified"; cloned.descr = cloned.descr + " modified"; cloned.timeStamp = DateTime.Today; cloned.children.AddRange(new List <string> { "key11", "key13" }); cloned.payload.theWrappedData.AddRange(new List <string> { "zeta", "eta" }); "output from elem.showElement<string, ListOfStrings>()".title(); Write(elem.showElement <string, ListOfStrings>()); "output from cloned.showElement<string, ListOfStrings>()".title(); Write(cloned.showElement <string, ListOfStrings>()); "Testing equality after modifying clone's values".title(); showEquality(cloned.name, elem.name, "cloned.name vs. elem.name"); showEquality(cloned.descr, elem.descr, "cloned.descr vs. elem.descr"); showDateTimeEquality(cloned.timeStamp, elem.timeStamp, "cloned.timeStamp vs. elem.timeStamp"); showListEquality(cloned.children, elem.children, "cloned.children vs. elem.children"); showListEquality <string>(cloned.payload.theWrappedData, elem.payload.theWrappedData, "cloned.payload vs. elem.payload"); Write("\n\n"); }
/// <summary> /// show element which has key as integer and element as ListOfString. /// </summary> /// <param name="element"></param> public static void showElement(this DBElement <int, ListOfStrings> element) { Console.Write(element.showElement <int, ListOfStrings>()); }
public static void showElement(this DBElement <int, string> element) { Console.Write(element.showElement <int, string>()); }
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 DBEngine Package".title('='); WriteLine(); Write("\n --- Test DBElement<int,string> ---"); DBElement <int, string> elem1 = new DBElement <int, string>(); elem1.payload = "a payload"; Write(elem1.showElement <int, string>()); WriteLine(); DBElement <int, string> elem2 = new DBElement <int, string>("Darth Vader", "Evil Overlord"); elem2.payload = "The Empire strikes back!"; Write(elem2.showElement <int, string>()); WriteLine(); var elem3 = new DBElement <int, string>("Luke Skywalker", "Young HotShot"); elem3.children.AddRange(new List <int> { 1, 5, 23 }); elem3.payload = "X-Wing fighter in swamp - Oh oh!"; Write(elem3.showElement <int, string>()); WriteLine(); Write("\n --- Test DBEngine<int,DBElement<int,string>> ---"); int key = 0; Func <int> keyGen = () => { ++key; return(key); }; // anonymous function to generate keys 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.show <int, DBElement <int, string>, string>(); WriteLine(); Write("\n --- Test DBElement<string,List<string>> ---"); 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" }; Write(newelem1.showElement <string, List <string> >()); WriteLine(); Write("\n --- Test DBElement<string,List<string>> ---"); 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"); Write(newerelem1.showElement <string, List <string>, string>()); WriteLine(); DBElement <string, List <string> > newerelem2 = new DBElement <string, List <string> >(); newerelem2.name = "newerelem2"; newerelem2.descr = "better formatting"; newerelem1.children.AddRange(new[] { "first", "second" }); newerelem2.payload = new List <string> { "a", "b", "c" }; newerelem2.payload.Add("d"); newerelem2.payload.Add("e"); Write(newerelem2.showElement <string, List <string>, string>()); 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(), newerelem1); newdb.insert(skeyGen(), newerelem2); newdb.show <string, DBElement <string, List <string> >, List <string>, string>(); WriteLine(); "testing edits".title(); db.show <int, DBElement <int, string>, string>(); DBElement <int, string> editElement = new DBElement <int, string>(); db.getValue(1, out editElement); editElement.showElement <int, string>(); editElement.name = "editedName"; editElement.descr = "editedDescription"; db.show <int, DBElement <int, string>, string>(); Write("\n\n"); }