public MethodRule benchmarkRun = new BenchmarkRule();
private static Logger logger=LoggerFactory.getLogger(SerializerTest.class);
private void testSerializer(String name, Serializer serializer, int size, int howMany) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
logger.info("begin " + serializer.getClass().toString());
Monitor stopWatch = Monitor.get("serializer." + name + "." + size + "bytes");
Monitor stopWatch2 = Monitor.get("deserializer." + name + "." + size + "bytes");
DummyPojo pojo = new DummyPojo("test", size);
for (int i = 0; i < howMany; i++) {
long split = stopWatch.start();
final byte[] array = serializer.serialize(pojo, pojo.getClass());
stopWatch.stop(split);
long split2 = stopWatch2.start();
DummyPojo check = (DummyPojo) serializer.deserialize(array, pojo.getClass());
stopWatch2.stop(split2);
assertNotNull("object has not been serialized", check);
assertEquals(pojo.name, check.name);
}
logger.info("end serialize " + serializer.getClass().toString() + "\r\n" + stopWatch.toString());
logger.info("end deserialize " + serializer.getClass().toString() + "\r\n" + stopWatch2.toString());
}