private static LongLongMap ToMap(params long[] keys) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.eclipse.collections.api.map.primitive.MutableLongLongMap m = new org.eclipse.collections.impl.map.mutable.primitive.LongLongHashMap(); MutableLongLongMap m = new LongLongHashMap(); Fill(m, keys); return(m); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void randomizedTest() internal virtual void RandomizedTest() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int count = 10000 + rnd.nextInt(1000); int count = 10000 + _rnd.Next(1000); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.eclipse.collections.api.map.primitive.MutableLongLongMap m = new org.eclipse.collections.impl.map.mutable.primitive.LongLongHashMap(); MutableLongLongMap m = new LongLongHashMap(); while (m.size() < count) { m.put(_rnd.nextLong(), _rnd.nextLong()); } m.forEachKeyValue((k, v) => { assertFalse(_map.containsKey(k)); _map.put(k, v); assertTrue(_map.containsKey(k)); assertEquals(v, _map.get(k)); assertEquals(v, _map.getOrThrow(k)); assertEquals(v, _map.getIfAbsent(k, v * 2)); assertEquals(v, _map.getIfAbsentPut(k, v * 2)); assertEquals(v, _map.getIfAbsentPut(k, () => v * 2)); }); assertEquals(m.size(), _map.size()); assertTrue(m.Keys.allSatisfy(_map.containsKey)); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.util.List<org.eclipse.collections.api.tuple.primitive.LongLongPair> toRemove = m.keyValuesView().select(p -> rnd.nextInt(100) < 75).toList().shuffleThis(rnd.random()); IList <LongLongPair> toRemove = m.keyValuesView().select(p => _rnd.Next(100) < 75).toList().shuffleThis(_rnd.random()); toRemove.ForEach(p => { long k = p.One; long v = p.Two; _map.updateValue(k, v + 1, x => - x); assertEquals(-v, _map.get(k)); _map.remove(k); assertEquals(v * 2, _map.removeKeyIfAbsent(k, v * 2)); assertEquals(v * 2, _map.getIfAbsent(k, v * 2)); assertFalse(_map.containsKey(k)); assertThrows(typeof(System.InvalidOperationException), () => _map.getOrThrow(k)); _map.updateValue(k, v + 42, x => - x); assertEquals(-v - 42, _map.get(k)); }); toRemove.ForEach(p => _map.removeKey(p.One)); assertEquals(count - toRemove.Count, _map.size()); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void indexEntryHashing() public virtual void IndexEntryHashing() { int collisions = 0; int labelIdCount = 50; int propertyKeyIdCount = 50; int objectCount = 10000; MutableLongLongMap map = new LongLongHashMap(50 * 50 * 10000); string[] values = PrecomputeValues(objectCount); for (int labelId = 0; labelId < labelIdCount; labelId++) { for (int propertyKeyId = 0; propertyKeyId < propertyKeyIdCount; propertyKeyId++) { for (int objectId = 0; objectId < objectCount; objectId++) { string @object = values[objectId]; long resourceId = indexEntryResourceId(labelId, exact(propertyKeyId, @object)); long newValue = PackValue(labelId, propertyKeyId, objectId); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final boolean hasOldValue = map.containsKey(resourceId); bool hasOldValue = map.containsKey(resourceId); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final long oldValue = map.get(resourceId); long oldValue = map.get(resourceId); map.put(resourceId, newValue); if (hasOldValue) { //JAVA TO C# CONVERTER TODO TASK: The following line has a Java format specifier which cannot be directly translated to .NET: //ORIGINAL LINE: System.out.printf("Collision on %s: %s ~= %s%n", resourceId, toValueString(newValue), toValueString(oldValue)); Console.Write("Collision on %s: %s ~= %s%n", resourceId, ToValueString(newValue), ToValueString(oldValue)); collisions++; if (collisions > 100) { fail("This hashing is terrible!"); } } } } } assertThat(collisions, @is(0)); }