private void ComputeIfAbsentTest(int seed) { var prng = new Random(seed); const uint NUM_ENTRIES = 2398; var gt = new Dictionary <int, int>((int)NUM_ENTRIES); var map = new VectorFlatHashMap <int, int>(NUM_ENTRIES); Assert.Equal(0u, map.Size); for (uint i = 0; i < NUM_ENTRIES; ++i) { int x = prng.Next((int)NUM_ENTRIES * 2); int y = map.ComputeIfAbsent(x, a => { Assert.Equal(x, a); Assert.False(gt.ContainsKey(a)); return(a * a); }); Assert.Equal(x * x, y); gt[x] = x * x; } Assert.Equal(gt.Count, map.Count); foreach ((int key, int value) in map) { Assert.Equal(key * key, value); Assert.Contains(new KeyValuePair <int, int>(key, value), gt); } }
private void MergeTest(int seed) { var prng = new Random(seed); const uint NUM_ENTRIES = 3214; var gt = new Dictionary <int, int>((int)NUM_ENTRIES); var map = new VectorFlatHashMap <int, int>(NUM_ENTRIES);