Package org.atinject.tck
Class Tck
- java.lang.Object
-
- org.atinject.tck.Tck
-
public class Tck extends java.lang.Object
Manufactures the compatibility test suite. This TCK relies on JUnit. To integrate the TCK with your injector, create a JUnit test suite class that passes an injectedCar
instance totestsFor(Car)
:import junit.framework.Test; import org.atinject.tck.Tck; import org.atinject.tck.auto.Car; public class MyTck { public static Test suite() { Car car = new MyInjector().getInstance(Car.class); return Tck.testsFor(car, true /* supportsStatic */, true /* supportsPrivate */); } }
The static
suite
method that returns aTest
is a JUnit convention. Feel free to run the returned tests in other ways.Configure the injector as follows:
Car
is implemented byConvertible
.@Drivers
Seat
is implemented byDriversSeat
.Seat
is implemented bySeat
itself, andTire
byTire
itself (not subclasses).Engine
is implemented byV8Engine
.@Named("spare")
Tire
is implemented bySpareTire
.- The following classes may also be injected directly:
Cupholder
,SpareTire
, andFuelTank
.
Static and private member injection support is optional, but if your injector supports those features, it must pass the respective tests. If static member injection is supported, the static members of the following types shall also be injected once:
Convertible
,Tire
, andSpareTire
.Use your favorite JUnit tool to run the tests. For example, you can use your IDE or JUnit's command line runner:
java -cp javax.inject-tck.jar:junit.jar:myinjector.jar \ junit.textui.TestRunner MyTck
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static junit.framework.Test
testsFor(Car car, boolean supportsStatic, boolean supportsPrivate)
Constructs a JUnit test suite for the givenCar
instance.
-
-
-
Method Detail
-
testsFor
public static junit.framework.Test testsFor(Car car, boolean supportsStatic, boolean supportsPrivate)
Constructs a JUnit test suite for the givenCar
instance.- Parameters:
car
- to testsupportsStatic
- true if the injector supports static member injectionsupportsPrivate
- true if the injector supports private member injection- Throws:
java.lang.NullPointerException
- if car is nulljava.lang.ClassCastException
- if car doesn't extendConvertible
-
-