@@ -35,4 +35,30 @@ void namedArguments() {
35
35
assertTrue (collectedArgs .size () == 3 );
36
36
assertTrue (collectedArgs .get (2 ) instanceof Map );
37
37
}
38
+
39
+ @ Test
40
+ void varargsTypeInt () {
41
+ List providedArguments = Arrays .asList ("arg" , "*varargs" );
42
+ Class <?>[] argumentTypes = new Class [] { String .class , Integer [].class };
43
+ IArgumentCollector collector = new ArgumentCollector (argumentTypes , providedArguments );
44
+ List <Integer > args = Arrays .asList (2 , 3 , 4 );
45
+ List collectedArgs = collector .collectArguments (args , null );
46
+ assertEquals (2 , collectedArgs .size ());
47
+ assertTrue (collectedArgs .get (1 ).getClass ().isArray ());
48
+ assertEquals (((Integer [])collectedArgs .get (1 ))[0 ].getClass (), Integer .class );
49
+ assertEquals (((Integer [])collectedArgs .get (1 ))[1 ].getClass (), Integer .class );
50
+ }
51
+
52
+ @ Test
53
+ void varargsTypeString () {
54
+ List providedArguments = Arrays .asList ("arg" , "*varargs" );
55
+ Class <?>[] argumentTypes = new Class [] { String .class , String [].class };
56
+ IArgumentCollector collector = new ArgumentCollector (argumentTypes , providedArguments );
57
+ List <String > args = Arrays .asList ("2" , "3" , "4" );
58
+ List collectedArgs = collector .collectArguments (args , null );
59
+ assertEquals (2 , collectedArgs .size ());
60
+ assertTrue (collectedArgs .get (1 ).getClass ().isArray ());
61
+ assertEquals (String .class , ((Object [])collectedArgs .get (1 ))[0 ].getClass ());
62
+ assertEquals (String .class , ((Object [])collectedArgs .get (1 ))[1 ].getClass ());
63
+ }
38
64
}
0 commit comments