[picocontainer-scm] [5581] java/2.x/trunk/pico/jsr330-tck/src/test: more work towards atinject
paul-yCVjj/[email protected]
| Newsgroups | gmane.comp.java.picocontainer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision 5581
Author paul
Date 2010-02-06 10:30:13 -0600 (Sat, 06 Feb 2010)
Log Message
more work towards atinject
Added Paths
- java/2.x/trunk/pico/jsr330-tck/src/test/PicoContainerJsr330Tests.java
- java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java
Removed Paths
- java/2.x/trunk/pico/jsr330-tck/src/test/MyTck.java
Diff
Deleted: java/2.x/trunk/pico/jsr330-tck/src/test/MyTck.java (5580 => 5581)
--- java/2.x/trunk/pico/jsr330-tck/src/test/MyTck.java 2010-02-05 06:59:34 UTC (rev 5580)
+++ java/2.x/trunk/pico/jsr330-tck/src/test/MyTck.java 2010-02-06 16:30:13 UTC (rev 5581)
@@ -1,14 +0,0 @@
-import junit.framework.Test;
-import org.atinject.tck.Tck;
-import org.atinject.tck.auto.Car;
-import org.atinject.tck.auto.Convertible;
-import org.picocontainer.DefaultPicoContainer;
-import org.picocontainer.MutablePicoContainer;
-
-public class MyTck {
- public static Test suite() {
- MutablePicoContainer dpc = new DefaultPicoContainer().addComponent(Car.class, Convertible.class);
- Car car = dpc.getComponent(Car.class);
- return Tck.testsFor(car, true, true);
- }
-}
\ No newline at end of file
Added: java/2.x/trunk/pico/jsr330-tck/src/test/PicoContainerJsr330Tests.java (0 => 5581)
--- java/2.x/trunk/pico/jsr330-tck/src/test/PicoContainerJsr330Tests.java (rev 0)
+++ java/2.x/trunk/pico/jsr330-tck/src/test/PicoContainerJsr330Tests.java 2010-02-06 16:30:13 UTC (rev 5581)
@@ -0,0 +1,19 @@
+import junit.framework.Test;
+import org.atinject.tck.Tck;
+import org.atinject.tck.auto.*;
+import org.picocontainer.DefaultPicoContainer;
+import org.picocontainer.MutablePicoContainer;
+
+public class PicoContainerJsr330Tests {
+ public static Test suite() {
+ DefaultPicoContainer pico = new DefaultPicoContainer();
+ pico.addComponent(Car.class, Convertible.class)
+ .addComponent(DriversSeat.class)
+ .addComponent(FuelTank.class)
+ .addComponent(Tire.class)
+ .addComponent(V8Engine.class)
+ .addComponent(Seatbelt.class);
+ Car car = pico.getComponent(Car.class);
+ return Tck.testsFor(car, true, true);
+ }
+}
\ No newline at end of file
Added: java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java (0 => 5581)
--- java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java (rev 0)
+++ java/2.x/trunk/pico/jsr330-tck/src/test/StoneageSimulationJsr330Tests.java 2010-02-06 16:30:13 UTC (rev 5581)
@@ -0,0 +1,81 @@
+import junit.framework.Test;
+import org.atinject.tck.Tck;
+import org.atinject.tck.auto.Car;
+import org.atinject.tck.auto.Convertible;
+import org.atinject.tck.auto.FuelTank;
+import org.atinject.tck.auto.Seat;
+import org.atinject.tck.auto.Tire;
+import org.atinject.tck.auto.accessories.Cupholder;
+import org.atinject.tck.auto.accessories.SpareTire;
+import org.picocontainer.DefaultPicoContainer;
+
+import javax.inject.Named;
+import javax.inject.Provider;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+public class StoneageSimulationJsr330Tests {
+ public static Test suite() throws InvocationTargetException, IllegalAccessException, InstantiationException, NoSuchMethodException {
+ Constructor<?> seatCtor = Seat.class.getDeclaredConstructors()[0];
+ seatCtor.setAccessible(true);
+
+ final Seat[] plainSeat = new Seat[1];
+
+ Provider<Seat> plainSeatProvider = new Provider<Seat>() {
+ public Seat get() {
+ return plainSeat[0];
+ }
+ };
+
+ Cupholder cupholder = new Cupholder(plainSeatProvider);
+ plainSeat[0] = (Seat) seatCtor.newInstance(cupholder);
+ final Seat driversSeat = (Seat) seatCtor.newInstance(cupholder);
+
+ FuelTank fuelTank = new FuelTank();
+
+ final Tire plainTire = new Tire(fuelTank);
+
+ final SpareTire spareTire = new SpareTire(fuelTank, new FuelTank());
+
+ Provider<Seat> driversSeatProvider = new Provider<Seat>() {
+ public Seat get() {
+ return driversSeat;
+ }
+ };
+
+ Provider<Tire> plainTireProvider = new Provider<Tire>() {
+ public Tire get() {
+ return plainTire;
+ }
+ };
+
+ Provider<Tire> spareTireProvider = new Provider<Tire>() {
+ public Tire get() {
+ return spareTire;
+ }
+ };
+
+ Constructor<?> convertibelCtor = null;
+ Constructor<?>[] convertibelCtors = Convertible.class.getDeclaredConstructors();
+ for (int i = 0; i < convertibelCtors.length; i++) {
+ convertibelCtor = convertibelCtors[i];
+ if (convertibelCtor.getParameterTypes().length >0) {
+ break;
+ }
+ }
+ convertibelCtor.setAccessible(true);
+
+ System.out.println("l" + convertibelCtor.getParameterTypes().length);
+ Car car = (Car) convertibelCtor.newInstance(
+ plainSeat[0],
+ driversSeat,
+ plainTire,
+ spareTire,
+ plainSeatProvider,
+ driversSeatProvider,
+ plainTireProvider,
+ spareTireProvider);
+
+ 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