awips2/edexOsgi/com.raytheon.uf.common.message/tests/com/raytheon/uf/common/message/TestWsIdAdapter.java

107 lines
3.2 KiB
Java
Raw Normal View History

/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.message;
import java.io.ByteArrayInputStream;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Random;
import org.junit.Assert;
import com.raytheon.uf.common.serialization.DynamicSerializationManager;
import com.raytheon.uf.common.serialization.DynamicSerializationManager.SerializationType;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
public class TestWsIdAdapter {
private Random rnd = new Random();
@DynamicSerialize
public static class Test {
@DynamicSerializeElement
private WsId wsId;
/**
* @return the wsId
*/
public WsId getWsId() {
return wsId;
}
/**
* @param wsId
* the wsId to set
*/
public void setWsId(WsId wsId) {
this.wsId = wsId;
}
}
@org.junit.Test
public void testBasicFunctionality() {
InetAddress addr = null;
try {
addr = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
String user = System.getProperty("user.name");
String program = "TestWsId";
WsId wsId = new WsId(addr, user, program);
Test inTest = new Test();
inTest.setWsId(wsId);
DynamicSerializationManager dmgr = DynamicSerializationManager
.getManager(SerializationType.Thrift);
DynamicSerializationManager.inspect(inTest.getClass());
DynamicSerializationManager.inspect(wsId.getClass());
byte[] bdata = null;
try {
bdata = dmgr.serialize(inTest);
System.out.println("Serialized data of size: " + bdata.length);
} catch (Throwable e) {
e.printStackTrace();
Assert.fail(e.getMessage());
}
Test outTest = null;
try {
ByteArrayInputStream bais = new ByteArrayInputStream(bdata);
outTest = (Test) dmgr.deserialize(bais);
} catch (Throwable e) {
e.printStackTrace();
Assert.fail(e.getMessage());
}
// Make sure somehow we didn't get the same exact objects
Assert.assertNotSame(inTest, outTest);
// Verify results
Assert.assertEquals(inTest.getWsId(), outTest.getWsId());
}
}