-
Bug
-
Resolution: Done
-
Major
-
None
-
None
Hi;
I am currently testing org.jboss.jsr299.tck.tests.policy.PolicyAvailabilityTest. My questions are on the following test methods
- testProducerPoliciesOnClass
Sheep is produced by "EnabledSheepProducer" class that is defined in beans.xml and "NotEnabledSheepProducer" class that is not defined in beans.xml. So the first assertion in the test is correct
1) assert getBeans(Sheep.class, new AnnotationLiteral<Wild>(){}).size() == 2;
But how the second assertion is correct?
2) assert getBeans(Sheep.class, new AnnotationLiteral<Tame>(){}).size() == 2;
NotEnabledSheepProducer is not defined in beans.xml. So producer field and method that is contained in this class are disabled.
- testProducerPoliciesOnMethodAndField
CatProducer class defines producer field and method that are annotated with @Alternative. According to the spec section 5.1.1 "the alternative is a producer method, field or resource, and the bean class that declares the method or field is listed in beans.xml". CatProducer class is not defined in beans.xml so those producer beans must be disabled and must not be used in resolutions.
So the following assertions must be false, because CatProducer class is not defined in beans.xml
assert getBeans(Cat.class, new AnnotationLiteral<Wild>(){}).size() == 2;
assert getBeans(Cat.class, new AnnotationLiteral<Tame>(){}).size() == 2;