package water; import org.junit.BeforeClass; import org.junit.Test; import water.parser.BufferedString; import water.util.IcedDouble; import water.util.IcedHashMapGeneric; import water.util.IcedLong; import java.util.Arrays; import java.util.Map; import java.util.Set; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * Created by tomas on 8/10/16. */ public class IcedHasMapGenericTest extends TestUtil { @BeforeClass() public static void setup() { stall_till_cloudsize(1); } @Test public void testSerialization(){ IcedHashMapGeneric m = new IcedHashMapGeneric(); m.put("haha","gaga"); // String -> String pair m.put("str->freezable", new IcedDouble(3.14)); // String -> String pair m.put("str->freezable[]", new Freezable[]{new IcedDouble(3.14)}); // String -> String pair m.put("str->Integer", 314); // String -> String pair m.put(new BufferedString("haha2"),"gaga"); // Freezable -> String pair m.put(new BufferedString("str->freezable2"), new IcedDouble(3.14)); // String -> String pair m.put(new BufferedString("str->freezable[]2"), new Freezable[]{new IcedDouble(3.14)}); // String -> String pair m.put(new BufferedString("str->Integer2"), 314); // String -> String pair m.put(new IcedLong(1234), 1234); // String -> String pair byte [] buf = new AutoBuffer().put(m).buf(); IcedHashMapGeneric m2 = new AutoBuffer(buf).get(); assertEquals(m.size(),m2.size()); Set<Map.Entry> entries = m.entrySet(); for(Map.Entry e:entries){ if(e.getValue() instanceof Freezable[]) assert Arrays.deepEquals((Freezable[]) e.getValue(), (Freezable[]) m2.get(e.getKey())); else assertEquals(e.getValue(),m2.get(e.getKey())); } } }