[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.