@@ -211,12 +211,25 @@ public void nullKeyOrValue_throws() {
211
211
Map <String , String > map = new HashMap <>();
212
212
213
213
map .put ("Hello" , null );
214
- convertThenAssertThrows (map , converter );
214
+ convertThenAssertThrows (map , converter , "Map keys or values must not be null" );
215
215
216
216
map .clear ();
217
217
218
218
map .put (null , "Idea" );
219
- convertThenAssertThrows (map , converter );
219
+ convertThenAssertThrows (map , converter , "Map keys or values must not be null" );
220
+ }
221
+
222
+ @ Test
223
+ public void unsupportedKey_throws () {
224
+ Map <Object , Object > map = new HashMap <>();
225
+ map .put (false , "supported" );
226
+
227
+ convertThenAssertThrows (map , new FlexObjectConverter (), "Map keys must be String" );
228
+ convertThenAssertThrows (map , new StringLongMapConverter (), "Map keys must be String" );
229
+ convertThenAssertThrows (map , new IntegerFlexMapConverter (), "Map keys must be Integer" );
230
+ convertThenAssertThrows (map , new IntegerLongMapConverter (), "Map keys must be Integer" );
231
+ convertThenAssertThrows (map , new LongFlexMapConverter (), "Map keys must be Long" );
232
+ convertThenAssertThrows (map , new LongLongMapConverter (), "Map keys must be Long" );
220
233
}
221
234
222
235
@ Test
@@ -225,7 +238,7 @@ public void unsupportedValue_throws() {
225
238
Map <String , Object > map = new HashMap <>();
226
239
227
240
map .put ("Hello" , Instant .now ());
228
- convertThenAssertThrows (map , converter );
241
+ convertThenAssertThrows (map , converter , "Map values of this type are not supported: Instant" );
229
242
}
230
243
231
244
@ SuppressWarnings ("unchecked" )
@@ -240,10 +253,11 @@ private <K, V> void convertAndBackThenAssert(@Nullable Map<K, V> expected, FlexO
240
253
}
241
254
242
255
@ SuppressWarnings ({"rawtypes" })
243
- private void convertThenAssertThrows (Map map , FlexObjectConverter converter ) {
244
- assertThrows (
256
+ private void convertThenAssertThrows (Map map , FlexObjectConverter converter , String expectedMessage ) {
257
+ IllegalArgumentException exception = assertThrows (
245
258
IllegalArgumentException .class ,
246
259
() -> converter .convertToDatabaseValue (map )
247
260
);
261
+ assertEquals (expectedMessage , exception .getMessage ());
248
262
}
249
263
}
0 commit comments