public void testParameterLayoutAnnotationNamed() { final ParameterLayoutFacetFactory facetFactory = new ParameterLayoutFacetFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@ParameterLayout(named = NAME) final String foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[]{String.class}); facetFactory.processParams(new FacetFactory.ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); final NamedFacet facet = facetedMethodParameter.getFacet(NamedFacet.class); assertThat(facet, is(notNullValue())); assertThat(facet, is(instanceOf(NamedFacetForParameterLayoutAnnotation.class))); assertThat(facet.value(), is(equalTo(NAME))); assertThat(facet.escaped(), is(true)); }
public void testParameterLayoutAnnotationNamedEscapedFalse() { final ParameterLayoutFacetFactory facetFactory = new ParameterLayoutFacetFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@ParameterLayout(named = NAME, namedEscaped = false) final String foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[]{String.class}); facetFactory.processParams(new FacetFactory.ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); final NamedFacet facet = facetedMethodParameter.getFacet(NamedFacet.class); assertThat(facet, is(notNullValue())); assertThat(facet, is(instanceOf(NamedFacetForParameterLayoutAnnotation.class))); assertThat(facet.value(), is(equalTo(NAME))); assertThat(facet.escaped(), is(false)); }
public void testTypicalLengthAnnotationPickedUpOnActionParameter() { final TypicalLengthAnnotationOnParameterFacetFactory facetFactory = new TypicalLengthAnnotationOnParameterFacetFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@TypicalLength(20) final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(method, 0, facetedMethodParameter)); final Facet facet = facetedMethodParameter.getFacet(TypicalLengthFacet.class); assertNotNull(facet); assertTrue(facet instanceof TypicalLengthFacetAnnotationOnParameter); final TypicalLengthFacetAnnotationOnParameter typicalLengthFacetAnnotation = (TypicalLengthFacetAnnotationOnParameter) facet; assertEquals(20, typicalLengthFacetAnnotation.value()); }
public void testRenderedAdjustedAnnotationPickedUpOnActionParameter() { final RenderedAsDayBeforeFacetOnParameterAnnotationFactory facetFactory = new RenderedAsDayBeforeFacetOnParameterAnnotationFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@RenderedAsDayBefore @Named("End Date") final LocalDate endDate) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { LocalDate.class }); facetFactory.processParams(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); final Facet facet = facetedMethodParameter.getFacet(RenderedAdjustedFacet.class); assertNotNull(facet); assertTrue(facet instanceof RenderedAsDayBeforeFacetOnParameterAnnotation); final RenderedAsDayBeforeFacetOnParameterAnnotation facetAnnotation = (RenderedAsDayBeforeFacetOnParameterAnnotation) facet; assertEquals(-1, facetAnnotation.value()); }
public void testTypicalLengthAnnotationPickedUpOnActionParameter() { final TypicalLengthFacetOnParameterAnnotationFactory facetFactory = new TypicalLengthFacetOnParameterAnnotationFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@TypicalLength(20) final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); final Facet facet = facetedMethodParameter.getFacet(TypicalLengthFacet.class); assertNotNull(facet); assertTrue(facet instanceof TypicalLengthFacetOnParameterAnnotation); final TypicalLengthFacetOnParameterAnnotation typicalLengthFacetAnnotation = (TypicalLengthFacetOnParameterAnnotation) facet; assertEquals(20, typicalLengthFacetAnnotation.value()); }
public void testDescribedAsAnnotationPickedUpOnActionParameter() { final DescribedAsAnnotationOnParameterFacetFactory facetFactory = new DescribedAsAnnotationOnParameterFacetFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@DescribedAs("some description") final int x) { } } final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(actionMethod, 0, facetedMethodParameter)); final Facet facet = facetedMethodParameter.getFacet(DescribedAsFacet.class); assertNotNull(facet); assertTrue(facet instanceof DescribedAsFacetAbstract); final DescribedAsFacetAbstract describedAsFacetAbstract = (DescribedAsFacetAbstract) facet; assertEquals("some description", describedAsFacetAbstract.value()); }
public void testOptionalAnnotationPickedUpOnActionParameter() { final OptionalAnnotationForParameterFacetFactory facetFactory = new OptionalAnnotationForParameterFacetFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@Optional final String foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { String.class }); facetFactory.processParams(new ProcessParameterContext(method, 0, facetedMethodParameter)); final Facet facet = facetedMethodParameter.getFacet(MandatoryFacet.class); assertNotNull(facet); assertTrue(facet instanceof MandatoryFacetInvertedByOptionalForParameter); }
@Test public void doesNotAddsAMustSatisfySpecificationFacetIfNotAnnotated() { final MustSatisfySpecificationOnParameterFacetFactory facetFactory = new MustSatisfySpecificationOnParameterFacetFactory(); mockery.checking(new Expectations() { { never(mockFacetedMethodParameter).addFacet(with(anInstanceOf(MustSatisfySpecificationOnParameterFacet.class))); } }); facetFactory.processParams(new ProcessParameterContext(changeLastNameMethodWithout, 0, mockFacetedMethodParameter)); }
@Test public void addsAMustSatisfySpecificationFacetIfAnnotated() { final MustSatisfySpecificationOnParameterFacetFactory facetFactory = new MustSatisfySpecificationOnParameterFacetFactory(); mockery.checking(new Expectations() { { one(mockFacetedMethodParameter).addFacet(with(anInstanceOf(MustSatisfySpecificationOnParameterFacet.class))); } }); facetFactory.processParams(new ProcessParameterContext(changeLastNameMethodWith, 0, mockFacetedMethodParameter)); }
@Test public void doesNotAddsAMustSatisfySpecificationFacetIfNotAnnotated() { context.checking(new Expectations() { { never(mockFacetedMethodParameter).addFacet(with(anInstanceOf(MustSatisfySpecificationFacetForMustSatisfyAnnotationOnParameter.class))); } }); facetFactory.processParamsMustSatisfy(new ProcessParameterContext(Customer.class, changeLastNameMethodWithout, 0, null, mockFacetedMethodParameter)); }
public void testRegExAnnotationIgnoredForPrimitiveOnActionParameter() { final RegExFacetAnnotationForParameterFacetFactory facetFactory = new RegExFacetAnnotationForParameterFacetFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@RegEx(validation = "^A.*", caseSensitive = false) final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(method, 0, facetedMethodParameter)); assertNull(facetedMethod.getFacet(RegExFacet.class)); }
public void testMaskAnnotationNotIgnoredForPrimitiveOnActionParameter() { final MaskAnnotationForParameterFacetFactory facetFactory = new MaskAnnotationForParameterFacetFactory(); facetFactory.setSpecificationLookup(reflector); class Customer { @SuppressWarnings("unused") public void someAction(@Mask("###") final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(method, 0, facetedMethodParameter)); assertNotNull(facetedMethodParameter.getFacet(MaskFacet.class)); }
public void testOptionalAnnotationPickedUpOnActionParameter() { class Customer { @SuppressWarnings("unused") public void someAction(@Optional final String foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { String.class }); facetFactory.processParamsOptional(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); final Facet facet = facetedMethodParameter.getFacet(MandatoryFacet.class); assertNotNull(facet); assertTrue(facet instanceof MandatoryFacetInvertedByOptionalAnnotationOnParameter); }
public void testMaskAnnotationNotIgnoredForPrimitiveOnActionParameter() { final MaskFacetOnParameterAnnotationFactory facetFactory = new MaskFacetOnParameterAnnotationFactory(); facetFactory.setServicesInjector(stubServicesInjector); class Customer { @SuppressWarnings("unused") public void someAction(@Mask("###") final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); assertNotNull(facetedMethodParameter.getFacet(MaskFacet.class)); }
public void testRegExAnnotationIgnoredForPrimitiveOnActionParameter() { class Customer { @SuppressWarnings("unused") public void someAction(@RegEx(validation = "^A.*", caseSensitive = false) final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); assertNull(facetedMethod.getFacet(RegExFacet.class)); }
public void testOptionalAnnotationIgnoredForPrimitiveOnActionParameter() { class Customer { @SuppressWarnings("unused") public void someAction(@Optional final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParamsOptional(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); assertNull(facetedMethod.getFacet(MandatoryFacet.class)); }
public void testMultiLineAnnotationIgnoredForNonStringActionParameters() { final MultiLineAnnotationOnParameterFacetFactory facetFactory = new MultiLineAnnotationOnParameterFacetFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@MultiLine(numberOfLines = 8, preventWrapping = false) final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(method, 0, facetedMethodParameter)); assertNull(facetedMethod.getFacet(MultiLineFacet.class)); }
public void testOptionalAnnotationIgnoredForPrimitiveOnActionParameter() { final OptionalAnnotationForParameterFacetFactory facetFactory = new OptionalAnnotationForParameterFacetFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@Optional final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(method, 0, facetedMethodParameter)); assertNull(facetedMethod.getFacet(MandatoryFacet.class)); }
public void testMultiLineAnnotationIgnoredForNonStringActionParameters() { final MultiLineFacetOnParameterAnnotationFactory facetFactory = new MultiLineFacetOnParameterAnnotationFactory(); class Customer { @SuppressWarnings("unused") public void someAction(@MultiLine(numberOfLines = 8, preventWrapping = false) final int foo) { } } final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class }); facetFactory.processParams(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter)); assertNull(facetedMethod.getFacet(MultiLineFacet.class)); }
@Test public void addsAMustSatisfySpecificationFacetIfAnnotated() { context.checking(new Expectations() { { oneOf(mockFacetedMethodParameter).addFacet(with(anInstanceOf(MustSatisfySpecificationFacetForMustSatisfyAnnotationOnParameter.class))); } }); facetFactory.processParamsMustSatisfy(new ProcessParameterContext(Customer.class, changeLastNameMethodWith, 0, null, mockFacetedMethodParameter)); }