/// <summary> /// Creates new instatnce of <see cref="CompositeKeyDictionary{UserId,string,User}" /> that contains 5 elements. /// </summary> /// <returns></returns> public static CompositeKeyDictionary <UserId, string, User> CreateDictionary() { var dictionary = new CompositeKeyDictionary <UserId, string, User>(); foreach (var user in UserList) { dictionary.Add(user); } return(dictionary); }
private static void FillDictionary(CompositeKeyDictionary<Person, Address, House> dict, out Person personToSelect) { Person person = new Person(0, $"Name_{0}"); personToSelect = person; const int cycleConst = 5; for (int i = 1; i <= 15; ++i) { if (i % cycleConst == 0) { person = new Person(i / cycleConst, $"Name_{i / cycleConst}"); } dict.Add(person, new Address($"Country_{i % cycleConst}", $"City{i % cycleConst}", $"Street_{i % cycleConst}", i % cycleConst), new House($"Color_{i}", i)); } }
private static void FillDictionary(CompositeKeyDictionary <Person, Address, House> dict, out Person personToSelect) { Person person = new Person(0, $"Name_{0}"); personToSelect = person; const int cycleConst = 5; for (int i = 1; i <= 15; ++i) { if (i % cycleConst == 0) { person = new Person(i / cycleConst, $"Name_{i / cycleConst}"); } dict.Add(person, new Address($"Country_{i % cycleConst}", $"City{i % cycleConst}", $"Street_{i % cycleConst}", i % cycleConst), new House($"Color_{i}", i)); } }
public void TestIndiciesPerformance() { var dictionary = new CompositeKeyDictionary<Guid, int, object>(); var data = GetRandomData(dictSize); var stopWatch = new Stopwatch(); stopWatch.Start(); foreach (var x in data) { dictionary.Add(x, x); } var timeToBuiltDictionaryWithIndicies = stopWatch.ElapsedMilliseconds; // Time to build Dict without indicies dictionary.Clear(); dictionary.UseIndices = false; stopWatch.Restart(); foreach (var x in data) { dictionary.Add(x, x); } var timeToBuiltDictionaryWithOutIndicies = stopWatch.ElapsedMilliseconds; //Time required to rebuilt two indicies stopWatch.Restart(); dictionary.UseIndices = true; var timeToRebuiltIndices = stopWatch.ElapsedMilliseconds; // Get speed with index access stopWatch.Restart(); var xs = dictionary[data.First().Item2].ToList(); var timeToAccessWithIndices = stopWatch.ElapsedMilliseconds; // Now turn it off dictionary.UseIndices = false; stopWatch.Restart(); xs = dictionary[data.First().Item2].ToList(); var timeToAccessWithOutIndices = stopWatch.ElapsedMilliseconds; Trace.WriteLine(string.Format("Performance results for dictSize = {0} and busketSize = {1}", dictSize, busketSize)); Trace.WriteLine("timeToBuiltDictionaryWithIndicies: " + timeToBuiltDictionaryWithIndicies); Trace.WriteLine("timeToBuiltDictionaryWithOutIndicies: " + timeToBuiltDictionaryWithOutIndicies); Trace.WriteLine("timeToRebuiltIndices: " + timeToRebuiltIndices); Trace.WriteLine("timeToAccessWithIndices: " + timeToAccessWithIndices); Trace.WriteLine("timeToAccessWithOutIndices: " + timeToAccessWithOutIndices); Trace.WriteLine("----------------------------------------------------------------"); }
public void Add_KeyNullValue_ArgumentNullException() { _dict.Add(_john, null, _redHouse); }