[picocontainer-scm] [5582] java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java: more on simulation
paul-yCVjj/[email protected]
| Newsgroups | gmane.comp.java.picocontainer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision 5582
Author paul
Date 2010-02-06 19:32:29 -0600 (Sat, 06 Feb 2010)
Log Message
more on simulation
Modified Paths
- java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java
Diff
Modified: java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java (5581 => 5582)
--- java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java 2010-02-06 16:30:13 UTC (rev 5581)
+++ java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java 2010-02-07 01:32:29 UTC (rev 5582)
@@ -2,21 +2,28 @@
import org.atinject.tck.Tck;
import org.atinject.tck.auto.Car;
import org.atinject.tck.auto.Convertible;
+import org.atinject.tck.auto.DriversSeat;
+import org.atinject.tck.auto.Engine;
import org.atinject.tck.auto.FuelTank;
+import org.atinject.tck.auto.GasEngine;
import org.atinject.tck.auto.Seat;
import org.atinject.tck.auto.Tire;
+import org.atinject.tck.auto.V8Engine;
import org.atinject.tck.auto.accessories.Cupholder;
import org.atinject.tck.auto.accessories.SpareTire;
import org.picocontainer.DefaultPicoContainer;
+import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
public class StoneageSimulationJsr330Tests {
- public static Test suite() throws InvocationTargetException, IllegalAccessException, InstantiationException, NoSuchMethodException {
+ public static Test suite() throws InvocationTargetException, IllegalAccessException, InstantiationException, NoSuchMethodException, NoSuchFieldException {
Constructor<?> seatCtor = Seat.class.getDeclaredConstructors()[0];
+ Constructor<?> driversSeatCtor = DriversSeat.class.getDeclaredConstructors()[0];
seatCtor.setAccessible(true);
final Seat[] plainSeat = new Seat[1];
@@ -29,7 +36,7 @@
Cupholder cupholder = new Cupholder(plainSeatProvider);
plainSeat[0] = (Seat) seatCtor.newInstance(cupholder);
- final Seat driversSeat = (Seat) seatCtor.newInstance(cupholder);
+ final DriversSeat driversSeat = (DriversSeat) driversSeatCtor.newInstance(cupholder);
FuelTank fuelTank = new FuelTank();
@@ -55,11 +62,17 @@
}
};
+ Provider<Engine> engineProvider = new Provider<Engine>() {
+ public Engine get() {
+ return new V8Engine();
+ }
+ };
+
Constructor<?> convertibelCtor = null;
Constructor<?>[] convertibelCtors = Convertible.class.getDeclaredConstructors();
for (int i = 0; i < convertibelCtors.length; i++) {
convertibelCtor = convertibelCtors[i];
- if (convertibelCtor.getParameterTypes().length >0) {
+ if (convertibelCtor.getParameterTypes().length > 0) {
break;
}
}
@@ -74,8 +87,29 @@
plainSeatProvider,
driversSeatProvider,
plainTireProvider,
- spareTireProvider);
+ engineProvider);
+
+ Field driversSeatAFld = Convertible.class.getDeclaredField("driversSeatA");
+ driversSeatAFld.setAccessible(true);
+ driversSeatAFld.set(car, driversSeat);
+
+ Field driversSeatBFld = Convertible.class.getDeclaredField("driversSeatB");
+ driversSeatBFld.setAccessible(true);
+ driversSeatBFld.set(car, driversSeat);
+
+ Field spareTireFld = Convertible.class.getDeclaredField("spareTire");
+ spareTireFld.setAccessible(true);
+ spareTireFld.set(car, spareTire);
+
+ Field cupholderFld = Convertible.class.getDeclaredField("cupholder");
+ cupholderFld.setAccessible(true);
+ cupholderFld.set(car, cupholder);
+
+ Field engineProviderFld = Convertible.class.getDeclaredField("engineProvider");
+ engineProviderFld.setAccessible(true);
+ engineProviderFld.set(car, engineProvider);
+
return Tck.testsFor(car, true, true);
}
}
\ No newline at end of file
----------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email