public static void GenericSortedKeyValueListTest() { PFKeyValueListExSorted <int, string> kvlist = new PFKeyValueListExSorted <int, string>(); string kvlistFilename = @"c:\temp\testkvlistsorted.xml"; string connectionString = string.Empty; string configValue = string.Empty; try { _msg.Length = 0; _msg.Append("GenericSortedKeyValueListTest started ...\r\n"); Program._messageLog.WriteLine(_msg.ToString()); configValue = AppConfig.GetStringValueFromConfigFile("ListsDatabaseFile", string.Empty); if (configValue.Length > 0) { connectionString = configValue; } else { connectionString = _listsDatabaseConnectionString; } kvlist.Add((int)5, "YFifth value"); kvlist.Add((int)4, "XFourth value"); kvlist.Add((int)3, "Third value"); kvlist.Add((int)2, "Second value"); kvlist.Add((int)1, "First value"); kvlist.SaveToXmlFile(kvlistFilename); PFKeyValueListExSorted <int, string> kvlist2 = PFKeyValueListExSorted <int, string> .LoadFromXmlFile(kvlistFilename); kvlist2.SetToBOF(); pfKeyValuePair <int, string> kvp = kvlist2.FirstItem; while (!kvlist2.EOF) { _msg.Length = 0; _msg.Append(kvp.Key.ToString()); _msg.Append(", "); _msg.Append(kvp.Value); Program._messageLog.WriteLine(_msg.ToString()); kvp = kvlist2.NextItem; } kvlist.SaveToDatabase(connectionString, "TestprogListObjects_kvlistsorted"); PFKeyValueListExSorted <int, string> kvlist3 = PFKeyValueListExSorted <int, string> .LoadFromDatabase(connectionString, "TestprogListObjects_kvlistsorted"); _msg.Length = 0; _msg.Append("kvlist3 ToXmlString Test: "); Program._messageLog.WriteLine(_msg.ToString()); _msg.Length = 0; _msg.Append(kvlist3.ToXmlString()); Program._messageLog.WriteLine(_msg.ToString()); string xmlString3 = kvlist3.ToXmlString(); PFKeyValueListExSorted <int, string> kvlist4 = PFKeyValueListExSorted <int, string> .LoadFromXmlString(xmlString3); kvlist4.SetToBOF(); kvp = kvlist4.FirstItem; while (!kvlist4.EOF) { _msg.Length = 0; _msg.Append(kvp.Key.ToString()); _msg.Append(", "); _msg.Append(kvp.Value); Program._messageLog.WriteLine(_msg.ToString()); kvp = kvlist4.NextItem; } System.Xml.XmlDocument xmlDoc = kvlist4.ToXmlDocument(); xmlDoc.Save(@"c:\temp\kvlist4_xmldoc.xml"); } catch (System.Exception ex) { _msg.Length = 0; _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex)); Program._messageLog.WriteLine(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog); } finally { _msg.Length = 0; _msg.Append("\r\n... GenericSortedKeyValueListTest finished."); Program._messageLog.WriteLine(_msg.ToString()); } }
}//end GenericListTest public static void GenericKeyValueListTest() { PFKeyValueListEx <int, string> kvlist = new PFKeyValueListEx <int, string>(); PFKeyValueListEx <int, string> kvlist4 = new PFKeyValueListEx <int, string>(); PFKeyValueListEx <string, string> kvlistString = new PFKeyValueListEx <string, string>(); string kvlistFilename = @"c:\temp\testkvlist.xml"; string connectionString = string.Empty; string configValue = string.Empty; try { _msg.Length = 0; _msg.Append("GenericKeyValueListTest started ...\r\n"); Program._messageLog.WriteLine(_msg.ToString()); configValue = AppConfig.GetStringValueFromConfigFile("ListsDatabaseFile", string.Empty); if (configValue.Length > 0) { connectionString = configValue; } else { connectionString = _listsDatabaseConnectionString; } Program._messageLog.WriteLine(Environment.NewLine); kvlistString.Add(new pfKeyValuePair <string, string>("one", "First value")); kvlistString.Add(new pfKeyValuePair <string, string>("two", "Second value")); kvlistString.Add(new pfKeyValuePair <string, string>("three", "Third value")); kvlistString.Add(new pfKeyValuePair <string, string>("four", "Fourth value is just this")); kvlistString.Add(new pfKeyValuePair <string, string>("five", "First value is whatever comes here")); Program._messageLog.WriteLine("Before delete: " + kvlistString.Count.ToString()); if (kvlistString.Exists("three")) { kvlistString.Remove("three"); } Program._messageLog.WriteLine("After delete: " + kvlistString.Count.ToString()); Program._messageLog.WriteLine(Environment.NewLine); kvlist.Add(new pfKeyValuePair <int, string>(1, "First value")); kvlist.Add(new pfKeyValuePair <int, string>(2, "Second value")); kvlist.Add(new pfKeyValuePair <int, string>(3, "Third value")); kvlist.Add(new pfKeyValuePair <int, string>(4, "Fourth value is just this")); kvlist.Add(new pfKeyValuePair <int, string>(5, "First value is whatever comes here")); kvlist.SaveToXmlFile(kvlistFilename); PFKeyValueListEx <int, string> kvlist2 = PFKeyValueListEx <int, string> .LoadFromXmlFile(kvlistFilename); kvlist2.SetToBOF(); pfKeyValuePair <int, string> kvp = kvlist2.FirstItem; while (!kvlist2.EOF) { _msg.Length = 0; _msg.Append(kvp.Key.ToString()); _msg.Append(", "); _msg.Append(kvp.Value); Program._messageLog.WriteLine(_msg.ToString()); kvp = kvlist2.NextItem; } kvlist.SaveToDatabase(connectionString, "TestprogListObjects_kvlist"); PFKeyValueListEx <int, string> kvlist3 = PFKeyValueListEx <int, string> .LoadFromDatabase(connectionString, "TestprogListObjects_kvlist"); _msg.Length = 0; _msg.Append("kvlist3 ToXmlString Test: "); Program._messageLog.WriteLine(_msg.ToString()); _msg.Length = 0; _msg.Append(kvlist3.ToXmlString()); Program._messageLog.WriteLine(_msg.ToString()); _msg.Length = 0; _msg.Append(Environment.NewLine); _msg.Append("kvlist4 Sort Test: "); _msg.Append(Environment.NewLine); Program._messageLog.WriteLine(_msg.ToString()); kvlist4.Add(new pfKeyValuePair <int, string>(5, "YFifth value")); kvlist4.Add(new pfKeyValuePair <int, string>(4, "XFourth value")); kvlist4.Add(new pfKeyValuePair <int, string>(3, "Third value")); kvlist4.Add(new pfKeyValuePair <int, string>(2, "Second value")); kvlist4.Add(new pfKeyValuePair <int, string>(1, "First value")); kvlist4.SetToBOF(); pfKeyValuePair <int, string> kvp4 = kvlist4.FirstItem; while (!kvlist4.EOF) { _msg.Length = 0; _msg.Append(kvp4.Key.ToString()); _msg.Append(", "); _msg.Append(kvp4.Value); Program._messageLog.WriteLine(_msg.ToString()); kvp4 = kvlist4.NextItem; } _msg.Length = 0; _msg.Append(Environment.NewLine); _msg.Append("kvlist4 after sort: "); _msg.Append(Environment.NewLine); Program._messageLog.WriteLine(_msg.ToString()); kvlist4.SetToBOF(); kvlist4.Sort(PFKeyValueListExComparers.CompareKeyValueListIntString); kvlist4.SetToBOF(); kvp4 = kvlist4.FirstItem; while (!kvlist4.EOF) { _msg.Length = 0; _msg.Append(kvp4.Key.ToString()); _msg.Append(", "); _msg.Append(kvp4.Value); Program._messageLog.WriteLine(_msg.ToString()); kvp4 = kvlist4.NextItem; } Program._messageLog.WriteLine(Environment.NewLine); } catch (System.Exception ex) { _msg.Length = 0; _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex)); Program._messageLog.WriteLine(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog); } finally { _msg.Length = 0; _msg.Append("\r\n... GenericKeyValueListTest finished."); Program._messageLog.WriteLine(_msg.ToString()); } }