public Dictionary <int, string> TestMergeRandom(BPlusTreeOptions <int, string> options, int nsets, int nsize) { Dictionary <int, string> test = new Dictionary <int, string>(); IEnumerable <KeyValuePair <int, string> >[] sets = new List <IEnumerable <KeyValuePair <int, string> > >(CreateSets(nsets, nsize, test)).ToArray(); using (BPlusTree <int, string> tree = new BPlusTree <int, string>(options)) { foreach (IEnumerable <KeyValuePair <int, string> > set in sets) { tree.BulkInsert(set, new BulkInsertOptions { DuplicateHandling = DuplicateHandling.LastValueWins }); } VerifyDictionary(test, tree); tree.UnloadCache(); tree.Add(int.MaxValue, "max"); tree.Remove(int.MaxValue); VerifyDictionary(test, tree); } return(test); }
public void TestInserts() { using (BPlusTree <int, string> data = Create(Options)) { data.EnableCount(); int[][] TestArrays = new int[][] { new int[] { 10, 18, 81, 121, 76, 31, 250, 174, 24, 38, 246, 79 }, new int[] { 110, 191, 84, 218, 170, 217, 199, 232, 184, 254, 32, 90, 241, 136, 181, 28, 226, 69, 52 }, }; foreach (int[] arry in TestArrays) { data.Clear(); Assert.AreEqual(0, data.Count); int count = 0; foreach (int id in arry) { data.Add(id, id.ToString()); Assert.AreEqual(++count, data.Count); } Assert.AreEqual(arry.Length, data.Count); data.UnloadCache(); foreach (int id in arry) { Assert.AreEqual(id.ToString(), data[id]); data[id] = String.Empty; Assert.AreEqual(String.Empty, data[id]); Assert.IsTrue(data.Remove(id)); Assert.AreEqual(--count, data.Count); } Assert.AreEqual(0, data.Count); } } }
public Dictionary<int, string> TestMergeRandom(BPlusTreeOptions<int, string> options, int nsets, int nsize) { Dictionary<int, string> test = new Dictionary<int, string>(); IEnumerable<KeyValuePair<int, string>>[] sets = new List<IEnumerable<KeyValuePair<int, string>>>(CreateSets(nsets, nsize, test)).ToArray(); using (BPlusTree<int, string> tree = new BPlusTree<int, string>(options)) { foreach(IEnumerable<KeyValuePair<int, string>> set in sets) tree.BulkInsert(set, new BulkInsertOptions { DuplicateHandling = DuplicateHandling.LastValueWins }); VerifyDictionary(test, tree); tree.UnloadCache(); tree.Add(int.MaxValue, "max"); tree.Remove(int.MaxValue); VerifyDictionary(test, tree); } return test; }