public void SortedWorldInputTest ()
		{
			using (var reader = new StreamReader (Path.Combine ("data", "world"))) {
				var pairs = new List<KeyValuePair<string, bool>> ();
				while (!reader.EndOfStream) {
					pairs.Add (new KeyValuePair<string, bool> (reader.ReadLine (), true));
				}
				var csrt = new ContiguousTernarySearchTree<bool> (pairs);
				foreach (var pair in pairs) {
					Assert.IsTrue (csrt[pair.Key]);
				}
			}
		}
		public void SortedInputTest ()
		{
			var pairs = new List<KeyValuePair<string, string>> ();
			pairs.Add (new KeyValuePair<string, string> ("ARG_Browse", "string"));
			pairs.Add (new KeyValuePair<string, string> ("ARG_Browse_Flags", "int"));
			pairs.Add (new KeyValuePair<string, string> ("ARG_Browse_Limit", "int"));
			pairs.Add (new KeyValuePair<string, string> ("ARG_Browse_Offset", "int"));
			pairs.Add (new KeyValuePair<string, string> ("ARG_Search_Flags", "int"));
			pairs.Add (new KeyValuePair<string, string> ("System_Id", "uuid"));
			pairs.Add (new KeyValuePair<string, string> ("System_Update_Id", "uuid"));
			
			var csrt = new ContiguousTernarySearchTree<string> (pairs);
			foreach (var pair in pairs) {
				Assert.AreEqual (pair.Value, csrt[pair.Key]);
			}
			
			Assert.IsFalse (csrt.ContainsKey ("Foo"));
			Assert.IsFalse (csrt.ContainsKey ("AR"));
			Assert.IsFalse (csrt.ContainsKey ("ARG_"));
			Assert.IsFalse (csrt.ContainsKey ("ARG_Browse_Foo"));
		}