@Override public void testInheritanceClass(InheritanceClass v) throws Exception { System.getProperties().setProperty(TemplatePrecompiler.DEST, "./target/test-classes"); MessagePack msgpack = new MessagePack(); try { TemplatePrecompiler.saveTemplateClass(new TemplateRegistry(null), InheritanceClass.class); Template<InheritanceClass> tmpl = msgpack.lookup(InheritanceClass.class); BufferPacker packer = msgpack.createBufferPacker(); tmpl.write(packer, v); byte[] bytes = packer.toByteArray(); BufferUnpacker unpacker = msgpack.createBufferUnpacker(); unpacker.wrap(bytes); InheritanceClass ret = tmpl.read(unpacker, null); assertEquals(v, ret); } finally { TemplatePrecompiler.deleteTemplateClass(InheritanceClass.class); msgpack.unregister(InheritanceClass.class); } }
@Override public void testEnumTypeFieldsClassNotNullable(EnumTypeFieldsClassNotNullable v) throws Exception { MessagePack msgpack = new MessagePack(); TemplateRegistry registry = new TemplateRegistry(null); registry.register(EnumTypeFieldsClassNotNullable.SampleEnum.class, new OrdinalEnumTemplateBuilder(registry).buildTemplate(EnumTypeFieldsClassNotNullable.SampleEnum.class)); ReflectionTemplateBuilder builder = new ReflectionTemplateBuilder(registry); Template<EnumTypeFieldsClassNotNullable> tmpl = builder.buildTemplate(EnumTypeFieldsClassNotNullable.class); ByteArrayOutputStream out = new ByteArrayOutputStream(); Packer packer = msgpack.createPacker(out); tmpl.write(packer, v); byte[] bytes = out.toByteArray(); BufferUnpacker u = msgpack.createBufferUnpacker(); u.resetReadByteCount(); u.wrap(bytes); Value value = u.readValue(); Converter unpacker = new Converter(value); EnumTypeFieldsClassNotNullable ret = tmpl.read(unpacker, null); assertEquals(v, ret); assertEquals(bytes.length, u.getReadByteCount()); }
@org.junit.Ignore @Override // FIXME #MN next version public void testReferenceCycleTypeFieldsClass(ReferenceCycleTypeFieldsClass v) throws Exception { System.getProperties().setProperty(TemplatePrecompiler.DEST, "./target/test-classes"); MessagePack msgpack = new MessagePack(); try { TemplatePrecompiler.saveTemplateClass( new TemplateRegistry(null), ReferenceCycleTypeFieldsClass.class); Template<ReferenceCycleTypeFieldsClass> tmpl = msgpack.lookup(ReferenceCycleTypeFieldsClass.class); BufferPacker packer = msgpack.createBufferPacker(); tmpl.write(packer, v); byte[] bytes = packer.toByteArray(); BufferUnpacker unpacker = msgpack.createBufferUnpacker(); unpacker.wrap(bytes); ReferenceCycleTypeFieldsClass ret = tmpl.read(unpacker, null); assertEquals(v, ret); } finally { TemplatePrecompiler.deleteTemplateClass(ReferenceCycleTypeFieldsClass.class); msgpack.unregister(ReferenceCycleTypeFieldsClass.class); } }