package org.deeplearning4j.ui; import org.deeplearning4j.api.storage.StorageMetaData; import org.deeplearning4j.ui.storage.impl.SbeStorageMetaData; import org.junit.Test; import java.io.Serializable; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * Created by Alex on 07/10/2016. */ public class TestStorageMetaData { @Test public void testStorageMetaData() { Serializable extraMeta = "ExtraMetaData"; long timeStamp = 123456; StorageMetaData m = new SbeStorageMetaData(timeStamp, "sessionID", "typeID", "workerID", "org.some.class.InitType", "org.some.class.UpdateType", extraMeta); byte[] bytes = m.encode(); StorageMetaData m2 = new SbeStorageMetaData(); m2.decode(bytes); assertEquals(m, m2); assertArrayEquals(bytes, m2.encode()); //Sanity check: null values m = new SbeStorageMetaData(0, null, null, null, null, (String) null); bytes = m.encode(); m2 = new SbeStorageMetaData(); m2.decode(bytes); //In practice, we don't want these things to ever be null anyway... assertNullOrZeroLength(m2.getSessionID()); assertNullOrZeroLength(m2.getTypeID()); assertNullOrZeroLength(m2.getWorkerID()); assertNullOrZeroLength(m2.getInitTypeClass()); assertNullOrZeroLength(m2.getUpdateTypeClass()); assertArrayEquals(bytes, m2.encode()); } private static void assertNullOrZeroLength(String str) { assertTrue(str == null || str.length() == 0); } }