@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);
   }
 }