@@ -75,6 +75,46 @@ public void testUUIDList() throws NoSuchMethodException {
75
75
assertEquals (result .toString (), list , result );
76
76
}
77
77
78
+ public static void threeArguments (int one , int two , String three ) {}
79
+
80
+ public static void aLotOfArguments (int one , int two , String three , Object obj , int [] intArr ) {}
81
+
82
+ @ Test
83
+ public void AdditionalInputArgumentsAreIgnored () throws NoSuchMethodException {
84
+ Method m =
85
+ JsonDataConverterTest .class .getDeclaredMethod (
86
+ "threeArguments" , int .class , int .class , String .class );
87
+ Type [] arg = m .getGenericParameterTypes ();
88
+
89
+ DataConverter converter = JsonDataConverter .getInstance ();
90
+ byte [] data = converter .toData (1 , 2 , "a string" , "an extra string :o!!!" );
91
+ @ SuppressWarnings ("unchecked" )
92
+ Object [] deserializedArguments = converter .fromDataArray (data , arg );
93
+ assertEquals (3 , deserializedArguments .length );
94
+ assertEquals (1 , (int ) deserializedArguments [0 ]);
95
+ assertEquals (2 , (int ) deserializedArguments [1 ]);
96
+ assertEquals ("a string" , deserializedArguments [2 ]);
97
+ }
98
+
99
+ @ Test
100
+ public void MissingInputArgumentsArePopulatedWithDefaultValues () throws NoSuchMethodException {
101
+ Method m =
102
+ JsonDataConverterTest .class .getDeclaredMethod (
103
+ "aLotOfArguments" , int .class , int .class , String .class , Object .class , int [].class );
104
+ Type [] arg = m .getGenericParameterTypes ();
105
+
106
+ DataConverter converter = JsonDataConverter .getInstance ();
107
+ byte [] data = converter .toData (1 );
108
+ @ SuppressWarnings ("unchecked" )
109
+ Object [] deserializedArguments = converter .fromDataArray (data , arg );
110
+ assertEquals (5 , deserializedArguments .length );
111
+ assertEquals (1 , (int ) deserializedArguments [0 ]);
112
+ assertEquals (0 , (int ) deserializedArguments [1 ]);
113
+ assertEquals (null , deserializedArguments [2 ]);
114
+ assertEquals (null , deserializedArguments [3 ]);
115
+ assertEquals (null , deserializedArguments [4 ]);
116
+ }
117
+
78
118
@ Test
79
119
public void testClass () {
80
120
DataConverter converter = JsonDataConverter .getInstance ();
0 commit comments