package jetbrains.mps.internal.collections.trove.test;
/*Generated by MPS */
import jetbrains.mps.internalCollections.test.closures.Util_Test;
import java.util.Map;
import jetbrains.mps.internal.collections.runtime.MapSequence;
import gnu.trove.decorator.TByteByteHashMapDecorator;
import gnu.trove.TByteByteHashMap;
import junit.framework.Assert;
import gnu.trove.decorator.TByteObjectHashMapDecorator;
import gnu.trove.TByteObjectHashMap;
import gnu.trove.decorator.TDoubleDoubleHashMapDecorator;
import gnu.trove.TDoubleDoubleHashMap;
import gnu.trove.decorator.TObjectDoubleHashMapDecorator;
import gnu.trove.TObjectDoubleHashMap;
import gnu.trove.decorator.TDoubleObjectHashMapDecorator;
import gnu.trove.TDoubleObjectHashMap;
import jetbrains.mps.internal.collections.runtime.SetSequence;
import jetbrains.mps.internal.collections.runtime.Sequence;
import gnu.trove.decorator.TFloatFloatHashMapDecorator;
import gnu.trove.TFloatFloatHashMap;
import gnu.trove.decorator.TIntIntHashMapDecorator;
import gnu.trove.TIntIntHashMap;
import gnu.trove.decorator.TLongLongHashMapDecorator;
import gnu.trove.TLongLongHashMap;
import gnu.trove.decorator.TShortShortHashMapDecorator;
import gnu.trove.TShortShortHashMap;
public class PrimMap_Test extends Util_Test {
public void test_byteByte() throws Exception {
Map<Byte, Byte> mbb = MapSequence.fromMap(new TByteByteHashMapDecorator(new TByteByteHashMap()));
MapSequence.fromMap(mbb).put((byte) 1, (byte) 2);
Assert.assertSame(1, MapSequence.fromMap(mbb).count());
}
public void test_byteObject() throws Exception {
Map<Byte, Object> mbo = MapSequence.fromMap(new TByteObjectHashMapDecorator(new TByteObjectHashMap<Object>()));
MapSequence.fromMap(mbo).put((byte) 255, this);
Assert.assertSame(1, MapSequence.fromMap(mbo).count());
}
public void test_doubleDouble() throws Exception {
Map<Double, Double> mdd = MapSequence.fromMap(new TDoubleDoubleHashMapDecorator(new TDoubleDoubleHashMap()));
Map<Double, Double> mdd2 = MapSequence.fromMap(new TObjectDoubleHashMapDecorator(new TObjectDoubleHashMap<Double>()));
Map<Double, Double> mdd3 = MapSequence.fromMap(new TDoubleObjectHashMapDecorator(new TDoubleObjectHashMap<Double>()));
double pi = 3.1415;
double e = 2.71828;
MapSequence.fromMap(mdd).put(pi, e);
Assert.assertSame(1, MapSequence.fromMap(mdd).count());
MapSequence.fromMap(mdd2).putAll(mdd);
Assert.assertEquals(mdd2, mdd);
MapSequence.fromMap(mdd3).put(SetSequence.fromSet(MapSequence.fromMap(mdd).keySet()).first(), Sequence.fromIterable(MapSequence.fromMap(mdd).values()).first());
Assert.assertEquals(MapSequence.fromMap(mdd3).get(pi), MapSequence.fromMap(mdd).get(pi));
}
public void test_floatFloat() throws Exception {
Map<Float, Float> mff = MapSequence.fromMap(new TFloatFloatHashMapDecorator(new TFloatFloatHashMap()));
MapSequence.fromMap(mff).put((float) 1.0, (float) 2.0);
MapSequence.fromMap(mff).put((float) 2.0, (float) 1.0);
this.assertIterableEqualsIgnoreOrder(MapSequence.fromMap(mff).keySet(), MapSequence.fromMap(mff).values());
}
public void test_intInt() throws Exception {
Map<Integer, Integer> mii = MapSequence.fromMap(new TIntIntHashMapDecorator(new TIntIntHashMap()));
for (int x = 0; x < 1 << 8; x++) {
for (int y = 0; y < 1 << 8; y++) {
MapSequence.fromMap(mii).put((y << 8) + x, x * y);
}
}
Assert.assertEquals((Integer) (1 << 16), (Integer) MapSequence.fromMap(mii).count());
Assert.assertEquals((Integer) (42 * 13), (Integer) MapSequence.fromMap(mii).get((42 << 8) + 13));
Assert.assertEquals((Integer) (42 * 13), (Integer) MapSequence.fromMap(mii).get((13 << 8) + 42));
}
public void test_longLong() throws Exception {
Map<Long, Long> mll = MapSequence.fromMap(new TLongLongHashMapDecorator(new TLongLongHashMap()));
long bln = 1000000000L;
long trln = 1000000000000L;
MapSequence.fromMap(mll).put(bln, trln);
Assert.assertEquals((Long) MapSequence.fromMap(mll).get(bln), (Long) trln);
}
public void test_shortShort() throws Exception {
Map<Short, Short> mss = MapSequence.fromMap(new TShortShortHashMapDecorator(new TShortShortHashMap()));
MapSequence.fromMap(mss).put((short) 2, (short) 1);
Assert.assertSame((short) 1, MapSequence.fromMap(mss).get((short) 2));
}
public PrimMap_Test() {
}
}