@Test public void resolveArgumentPathVariable() throws Exception { getVariablesFor("cars").add("year", "2006"); getVariablesFor("bikes").add("year", "2005"); MethodParameter param = this.testMethod.annot(matrixAttribute().name("year")).arg(int.class); Object actual = this.resolver.resolveArgument(param, new BindingContext(), this.exchange).block(Duration.ZERO); assertEquals(2006, actual); }
@Test public void resolveArgumentPathVariable() throws Exception { getVariablesFor("cars").add("year", "2006"); getVariablesFor("bikes").add("year", "2005"); MethodParameter param = this.testMethod.annot(matrixAttribute().name("year")).arg(int.class); assertEquals("2006", this.resolver.resolveArgument(param, this.mavContainer, this.webRequest, null)); }
@Test public void resolveArgumentNoMatch() throws Exception { MultiValueMap<String, String> params = getVariablesFor("cars"); params.add("anotherYear", "2012"); MethodParameter param = this.testMethod.annot(matrixAttribute().name("year")).arg(int.class); Object actual = this.resolver.resolveArgument(param, new BindingContext(), this.exchange).block(Duration.ZERO); assertEquals(2013, actual); }
@Test public void supportsParameter() { assertFalse(this.resolver.supportsParameter(this.testMethod.arg(String.class))); assertTrue(this.resolver.supportsParameter( this.testMethod.annot(matrixAttribute().noName()).arg(List.class, String.class))); assertTrue(this.resolver.supportsParameter( this.testMethod.annot(matrixAttribute().name("year")).arg(int.class))); }
@Test public void supportsParameter() { assertFalse(this.resolver.supportsParameter(this.testMethod.arg(String.class))); assertTrue(this.resolver.supportsParameter(this.testMethod.annot(matrixAttribute().noName()) .arg(Map.class, String.class, String.class))); assertTrue(this.resolver.supportsParameter(this.testMethod.annot(matrixAttribute().noPathVar()) .arg(MultiValueMap.class, String.class, String.class))); assertTrue(this.resolver.supportsParameter(this.testMethod.annot(matrixAttribute().pathVar("cars")) .arg(MultiValueMap.class, String.class, String.class))); assertFalse(this.resolver.supportsParameter(this.testMethod.annot(matrixAttribute().name("name")) .arg(Map.class, String.class, String.class))); }
@Test public void resolveArgumentDefaultValue() throws Exception { MethodParameter param = this.testMethod.annot(matrixAttribute().name("year")).arg(int.class); Object actual = this.resolver.resolveArgument(param, new BindingContext(), this.exchange).block(Duration.ZERO); assertEquals(2013, actual); }
@Test public void resolveArgumentDefaultValue() throws Exception { MethodParameter param = this.testMethod.annot(matrixAttribute().name("year")).arg(int.class); assertEquals("2013", resolver.resolveArgument(param, this.mavContainer, this.webRequest, null)); }
@Test public void supportsParameter() { assertFalse(this.resolver.supportsParameter(this.testMethod.arg(String.class))); assertTrue(this.resolver.supportsParameter(this.testMethod .annot(matrixAttribute().noName()).arg(List.class, String.class))); assertTrue(this.resolver.supportsParameter(this.testMethod .annot(matrixAttribute().name("year")).arg(int.class))); }
@Test public void resolveArgumentNoMatch() throws Exception { MultiValueMap<String, String> params = getVariablesFor("cars"); params.add("anotherYear", "2012"); MethodParameter param = this.testMethod.annot(matrixAttribute().name("year")).arg(int.class); assertEquals("2013", this.resolver.resolveArgument(param, this.mavContainer, this.webRequest, null)); }
@Test public void supportsParameter() { assertFalse(this.resolver.supportsParameter(this.testMethod.arg(String.class))); assertTrue(this.resolver.supportsParameter(this.testMethod.annot(matrixAttribute().noName()) .arg(Map.class, String.class, String.class))); assertTrue(this.resolver.supportsParameter(this.testMethod.annot(matrixAttribute().noPathVar()) .arg(MultiValueMap.class, String.class, String.class))); assertTrue(this.resolver.supportsParameter(this.testMethod.annot(matrixAttribute().pathVar("cars")) .arg(MultiValueMap.class, String.class, String.class))); assertFalse(this.resolver.supportsParameter(this.testMethod.annot(matrixAttribute().name("name")) .arg(Map.class, String.class, String.class))); }