[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
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.