5252
5353import static org .hamcrest .MatcherAssert .assertThat ;
5454import static org .hamcrest .core .Is .is ;
55- import static org .hamcrest .core .IsInstanceOf .instanceOf ;
5655import static org .junit .Assert .assertArrayEquals ;
5756import static org .junit .Assert .assertEquals ;
5857import static org .junit .Assert .assertTrue ;
@@ -704,43 +703,19 @@ public void extensionTypeCustomDeserializers()
704703 {
705704 ByteArrayOutputStream out = new ByteArrayOutputStream ();
706705 MessagePacker packer = MessagePack .newDefaultPacker (out );
707- packer .packArrayHeader (5 );
706+ packer .packArrayHeader (3 );
708707 // 0: Integer
709708 packer .packInt (42 );
710709 // 1: String
711710 packer .packString ("foo bar" );
712- // 2: ExtensionType(class desr)
713- {
714- TinyPojo t0 = new TinyPojo ();
715- t0 .t = "t0" ;
716- TinyPojo t1 = new TinyPojo ();
717- t1 .t = "t1" ;
718- NestedListComplexPojo parent = new NestedListComplexPojo ();
719- parent .s = "parent" ;
720- parent .foos = Arrays .asList (t0 , t1 );
721- byte [] bytes = objectMapper .writeValueAsBytes (parent );
722- packer .packExtensionTypeHeader ((byte ) 17 , bytes .length );
723- packer .addPayload (bytes );
724- }
725- // 3: ExtensionType(type reference deser)
726- {
727- Map <String , Integer > map = new HashMap <String , Integer >();
728- map .put ("one" , 1 );
729- map .put ("two" , 2 );
730- byte [] bytes = objectMapper .writeValueAsBytes (map );
731- packer .packExtensionTypeHeader ((byte ) 99 , bytes .length );
732- packer .addPayload (bytes );
733- }
734- // 4: ExtensionType(custom deser)
711+ // 2: ExtensionType
735712 {
736713 packer .packExtensionTypeHeader ((byte ) 31 , 4 );
737714 packer .addPayload (new byte [] {(byte ) 0xCA , (byte ) 0xFE , (byte ) 0xBA , (byte ) 0xBE });
738715 }
739716 packer .close ();
740717
741718 ExtensionTypeCustomDeserializers extTypeCustomDesers = new ExtensionTypeCustomDeserializers ();
742- extTypeCustomDesers .addTargetClass ((byte ) 17 , NestedListComplexPojo .class );
743- extTypeCustomDesers .addTargetTypeReference ((byte ) 99 , new TypeReference <Map <String , Integer >>() {});
744719 extTypeCustomDesers .addCustomDeser ((byte ) 31 , new ExtensionTypeCustomDeserializers .Deser () {
745720 @ Override
746721 public Object deserialize (byte [] data )
@@ -757,27 +732,10 @@ public Object deserialize(byte[] data)
757732 new ObjectMapper (new MessagePackFactory ().setExtTypeCustomDesers (extTypeCustomDesers ));
758733
759734 List <Object > values = objectMapper .readValue (new ByteArrayInputStream (out .toByteArray ()), new TypeReference <List <Object >>() {});
760- assertThat (values .size (), is (5 ));
735+ assertThat (values .size (), is (3 ));
761736 assertThat ((Integer ) values .get (0 ), is (42 ));
762737 assertThat ((String ) values .get (1 ), is ("foo bar" ));
763- {
764- Object v = values .get (2 );
765- assertThat (v , is (instanceOf (NestedListComplexPojo .class )));
766- NestedListComplexPojo pojo = (NestedListComplexPojo ) v ;
767- assertThat (pojo .s , is ("parent" ));
768- assertThat (pojo .foos .size (), is (2 ));
769- assertThat (pojo .foos .get (0 ).t , is ("t0" ));
770- assertThat (pojo .foos .get (1 ).t , is ("t1" ));
771- }
772- {
773- Object v = values .get (3 );
774- assertThat (v , is (instanceOf (Map .class )));
775- Map <String , Integer > map = (Map <String , Integer >) v ;
776- assertThat (map .size (), is (2 ));
777- assertThat (map .get ("one" ), is (1 ));
778- assertThat (map .get ("two" ), is (2 ));
779- }
780- assertThat ((String ) values .get (4 ), is ("Java" ));
738+ assertThat ((String ) values .get (2 ), is ("Java" ));
781739 }
782740
783741 static class TripleBytesPojo
0 commit comments