// Path: src/main/java/com/github/ggeorgovassilis/springjsonmapper/model/UrlMapping.java
// public class UrlMapping {
// 
// 	protected HttpMethod httpMethod = HttpMethod.GET;
// 	protected String url = "/";
// 	protected List<MethodParameterDescriptor> parameters = new ArrayList<MethodParameterDescriptor>();
// 	protected String[] headers = new String[0];
// 	protected String[] consumes = new String[0];
// 	protected String[] produces = new String[0];
// 	protected String[] cookies = new String[0];
// 
// 	public String[] getCookies() {
// 		return cookies;
// 	}
// 
// 	public void setCookies(String[] cookies) {
// 		this.cookies = cookies;
// 	}
// 
// 	public String[] getConsumes() {
// 		return consumes;
// 	}
// 
// 	public void setConsumes(String[] consumes) {
// 		this.consumes = consumes;
// 	}
// 
// 	public String[] getProduces() {
// 		return produces;
// 	}
// 
// 	public void setProduces(String[] produces) {
// 		this.produces = produces;
// 	}
// 
// 	public String[] getHeaders() {
// 		return headers;
// 	}
// 
// 	public void setHeaders(String[] headers) {
// 		this.headers = headers;
// 	}
// 
// 	public String getUrl() {
// 		return url;
// 	}
// 
// 	public void setUrl(String url) {
// 		this.url = url;
// 	}
// 
// 	public HttpMethod getHttpMethod() {
// 		return httpMethod;
// 	}
// 
// 	public void setHttpMethod(HttpMethod httpMethod) {
// 		this.httpMethod = httpMethod;
// 	}
// 
// 	public List<MethodParameterDescriptor> getParameters() {
// 		return parameters;
// 	}
// 
// 	public void setParameters(List<MethodParameterDescriptor> parameters) {
// 		this.parameters = parameters;
// 	}
// 
// 	public void addDescriptor(MethodParameterDescriptor descriptor) {
// 		parameters.add(descriptor);
// 	}
// 
// 	public boolean hasRequestBody(String parameter) {
// 		for (MethodParameterDescriptor descriptor : parameters)
// 			if (parameter.equals(descriptor.getName())
// 					&& (descriptor.getType().equals(Type.requestBody) || descriptor.getType().equals(Type.requestPart)))
// 				return true;
// 		return false;
// 	}
// }
// 
// Path: src/main/java/com/github/ggeorgovassilis/springjsonmapper/spring/mapping/MappingAnnotationResolver.java
// public interface MappingAnnotationResolver<T extends Annotation> {
// 	UrlMapping resolve(T mappingAnnotation);
// 
// 	boolean supported(Class<T> annotation);
// }


import com.github.ggeorgovassilis.springjsonmapper.model.UrlMapping;
import com.github.ggeorgovassilis.springjsonmapper.spring.mapping.MappingAnnotationResolver;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpMethod;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.reflect.Method;
import java.util.Collections;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
package com.github.ggeorgovassilis.springjsonmapper.spring;




class MappingAnnotationsInspectorTest {

	private static final Object[] NO_ARGS = new Object[0];
	private MappingAnnotationResolver<?> resolver;
	private MappingAnnotationsInspector inspector;

	@BeforeEach
	void setUp() {
// Path: src/main/java/com/github/ggeorgovassilis/springjsonmapper/model/UrlMapping.java
// public class UrlMapping {
// 
// 	protected HttpMethod httpMethod = HttpMethod.GET;
// 	protected String url = "/";
// 	protected List<MethodParameterDescriptor> parameters = new ArrayList<MethodParameterDescriptor>();
// 	protected String[] headers = new String[0];
// 	protected String[] consumes = new String[0];
// 	protected String[] produces = new String[0];
// 	protected String[] cookies = new String[0];
// 
// 	public String[] getCookies() {
// 		return cookies;
// 	}
// 
// 	public void setCookies(String[] cookies) {
// 		this.cookies = cookies;
// 	}
// 
// 	public String[] getConsumes() {
// 		return consumes;
// 	}
// 
// 	public void setConsumes(String[] consumes) {
// 		this.consumes = consumes;
// 	}
// 
// 	public String[] getProduces() {
// 		return produces;
// 	}
// 
// 	public void setProduces(String[] produces) {
// 		this.produces = produces;
// 	}
// 
// 	public String[] getHeaders() {
// 		return headers;
// 	}
// 
// 	public void setHeaders(String[] headers) {
// 		this.headers = headers;
// 	}
// 
// 	public String getUrl() {
// 		return url;
// 	}
// 
// 	public void setUrl(String url) {
// 		this.url = url;
// 	}
// 
// 	public HttpMethod getHttpMethod() {
// 		return httpMethod;
// 	}
// 
// 	public void setHttpMethod(HttpMethod httpMethod) {
// 		this.httpMethod = httpMethod;
// 	}
// 
// 	public List<MethodParameterDescriptor> getParameters() {
// 		return parameters;
// 	}
// 
// 	public void setParameters(List<MethodParameterDescriptor> parameters) {
// 		this.parameters = parameters;
// 	}
// 
// 	public void addDescriptor(MethodParameterDescriptor descriptor) {
// 		parameters.add(descriptor);
// 	}
// 
// 	public boolean hasRequestBody(String parameter) {
// 		for (MethodParameterDescriptor descriptor : parameters)
// 			if (parameter.equals(descriptor.getName())
// 					&& (descriptor.getType().equals(Type.requestBody) || descriptor.getType().equals(Type.requestPart)))
// 				return true;
// 		return false;
// 	}
// }
// 
// Path: src/main/java/com/github/ggeorgovassilis/springjsonmapper/spring/mapping/MappingAnnotationResolver.java
// public interface MappingAnnotationResolver<T extends Annotation> {
// 	UrlMapping resolve(T mappingAnnotation);
// 
// 	boolean supported(Class<T> annotation);
// }


// Path: src/test/java/com/github/ggeorgovassilis/springjsonmapper/spring/MappingAnnotationsInspectorTest.java
import com.github.ggeorgovassilis.springjsonmapper.model.UrlMapping;
import com.github.ggeorgovassilis.springjsonmapper.spring.mapping.MappingAnnotationResolver;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpMethod;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.reflect.Method;
import java.util.Collections;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

package com.github.ggeorgovassilis.springjsonmapper.spring;




class MappingAnnotationsInspectorTest {

	private static final Object[] NO_ARGS = new Object[0];
	private MappingAnnotationResolver<?> resolver;
	private MappingAnnotationsInspector inspector;

	@BeforeEach
	void setUp() {
		resolver = mock(MappingAnnotationResolver.class);