1
1
/*
2
- * Copyright 2002-2016 the original author or authors.
2
+ * Copyright 2002-2017 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -49,26 +49,36 @@ public void plainMethodInvoker() throws Exception {
49
49
Integer i = (Integer ) mi .invoke ();
50
50
assertEquals (1 , i .intValue ());
51
51
52
+ // defensive check: singleton, non-static should work with null array
53
+ tc1 = new TestClass1 ();
54
+ mi = new MethodInvoker ();
55
+ mi .setTargetObject (tc1 );
56
+ mi .setTargetMethod ("method1" );
57
+ mi .setArguments ((Object []) null );
58
+ mi .prepare ();
59
+ i = (Integer ) mi .invoke ();
60
+ assertEquals (1 , i .intValue ());
61
+
52
62
// sanity check: check that argument count matching works
53
63
mi = new MethodInvoker ();
54
64
mi .setTargetClass (TestClass1 .class );
55
65
mi .setTargetMethod ("supertypes" );
56
- mi .setArguments (new Object [] { new ArrayList <>(), new ArrayList <>(), "hello" } );
66
+ mi .setArguments (new ArrayList <>(), new ArrayList <>(), "hello" );
57
67
mi .prepare ();
58
68
assertEquals ("hello" , mi .invoke ());
59
69
60
70
mi = new MethodInvoker ();
61
71
mi .setTargetClass (TestClass1 .class );
62
72
mi .setTargetMethod ("supertypes2" );
63
- mi .setArguments (new Object [] { new ArrayList <>(), new ArrayList <>(), "hello" , "bogus" } );
73
+ mi .setArguments (new ArrayList <>(), new ArrayList <>(), "hello" , "bogus" );
64
74
mi .prepare ();
65
75
assertEquals ("hello" , mi .invoke ());
66
76
67
77
// Sanity check: check that argument conversion doesn't work with plain MethodInvoker
68
78
mi = new MethodInvoker ();
69
79
mi .setTargetClass (TestClass1 .class );
70
80
mi .setTargetMethod ("supertypes2" );
71
- mi .setArguments (new Object [] { new ArrayList <>(), new ArrayList <>(), "hello" , Boolean .TRUE } );
81
+ mi .setArguments (new ArrayList <>(), new ArrayList <>(), "hello" , Boolean .TRUE );
72
82
73
83
exception .expect (NoSuchMethodException .class );
74
84
mi .prepare ();
@@ -79,7 +89,7 @@ public void stringWithMethodInvoker() throws Exception {
79
89
MethodInvoker methodInvoker = new MethodInvoker ();
80
90
methodInvoker .setTargetObject (new Greeter ());
81
91
methodInvoker .setTargetMethod ("greet" );
82
- methodInvoker .setArguments (new Object [] { "no match" } );
92
+ methodInvoker .setArguments ("no match" );
83
93
84
94
exception .expect (NoSuchMethodException .class );
85
95
methodInvoker .prepare ();
@@ -90,7 +100,7 @@ public void purchaserWithMethodInvoker() throws Exception {
90
100
MethodInvoker methodInvoker = new MethodInvoker ();
91
101
methodInvoker .setTargetObject (new Greeter ());
92
102
methodInvoker .setTargetMethod ("greet" );
93
- methodInvoker .setArguments (new Object [] { new Purchaser ()} );
103
+ methodInvoker .setArguments (new Purchaser ());
94
104
methodInvoker .prepare ();
95
105
String greeting = (String ) methodInvoker .invoke ();
96
106
assertEquals ("purchaser: hello" , greeting );
@@ -101,7 +111,7 @@ public void shopperWithMethodInvoker() throws Exception {
101
111
MethodInvoker methodInvoker = new MethodInvoker ();
102
112
methodInvoker .setTargetObject (new Greeter ());
103
113
methodInvoker .setTargetMethod ("greet" );
104
- methodInvoker .setArguments (new Object [] { new Shopper ()} );
114
+ methodInvoker .setArguments (new Shopper ());
105
115
methodInvoker .prepare ();
106
116
String greeting = (String ) methodInvoker .invoke ();
107
117
assertEquals ("purchaser: may I help you?" , greeting );
@@ -112,7 +122,7 @@ public void salesmanWithMethodInvoker() throws Exception {
112
122
MethodInvoker methodInvoker = new MethodInvoker ();
113
123
methodInvoker .setTargetObject (new Greeter ());
114
124
methodInvoker .setTargetMethod ("greet" );
115
- methodInvoker .setArguments (new Object [] { new Salesman ()} );
125
+ methodInvoker .setArguments (new Salesman ());
116
126
methodInvoker .prepare ();
117
127
String greeting = (String ) methodInvoker .invoke ();
118
128
assertEquals ("greetable: how are sales?" , greeting );
@@ -123,7 +133,7 @@ public void customerWithMethodInvoker() throws Exception {
123
133
MethodInvoker methodInvoker = new MethodInvoker ();
124
134
methodInvoker .setTargetObject (new Greeter ());
125
135
methodInvoker .setTargetMethod ("greet" );
126
- methodInvoker .setArguments (new Object [] { new Customer ()} );
136
+ methodInvoker .setArguments (new Customer ());
127
137
methodInvoker .prepare ();
128
138
String greeting = (String ) methodInvoker .invoke ();
129
139
assertEquals ("customer: good day" , greeting );
@@ -134,7 +144,7 @@ public void regularWithMethodInvoker() throws Exception {
134
144
MethodInvoker methodInvoker = new MethodInvoker ();
135
145
methodInvoker .setTargetObject (new Greeter ());
136
146
methodInvoker .setTargetMethod ("greet" );
137
- methodInvoker .setArguments (new Object [] { new Regular ("Kotter" )} );
147
+ methodInvoker .setArguments (new Regular ("Kotter" ));
138
148
methodInvoker .prepare ();
139
149
String greeting = (String ) methodInvoker .invoke ();
140
150
assertEquals ("regular: welcome back Kotter" , greeting );
@@ -145,7 +155,7 @@ public void vipWithMethodInvoker() throws Exception {
145
155
MethodInvoker methodInvoker = new MethodInvoker ();
146
156
methodInvoker .setTargetObject (new Greeter ());
147
157
methodInvoker .setTargetMethod ("greet" );
148
- methodInvoker .setArguments (new Object [] { new VIP ("Fonzie" )} );
158
+ methodInvoker .setArguments (new VIP ("Fonzie" ));
149
159
methodInvoker .prepare ();
150
160
String greeting = (String ) methodInvoker .invoke ();
151
161
assertEquals ("regular: whassup dude?" , greeting );
0 commit comments