package com.jfilter.converter; import com.jfilter.filter.FilterFields; import com.jfilter.mock.MockMethods; import org.junit.Before; import org.junit.Test; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; public class MethodParameterDetailsTest { private MethodParameter methodParameter; private int methodParameterHash; @Before public void init() { methodParameter = MockMethods.mockIgnoreSettingsMethod(); methodParameterHash = methodParameter.getMethod().hashCode(); } @Test public void testGetMethodHashCode() { MethodParameterDetails methodParameterDetails = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, new FilterFields()); assertEquals(methodParameterHash, methodParameterDetails.getMethodHashCode()); } @Test public void testEquals() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, new FilterFields()); MethodParameterDetails methodParameterDetails2 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, new FilterFields()); assertEquals(methodParameterDetails1, methodParameterDetails2); } @Test public void testEqualsCurrentMethod() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, new FilterFields()); assertEquals(methodParameterDetails1, methodParameterDetails1); } @Test public void testNotEquals() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, new FilterFields()); MethodParameterDetails methodParameterDetails2 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_XML, null); assertNotEquals(methodParameterDetails1, methodParameterDetails2); } @Test public void testNullNotEquals() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, new FilterFields()); assertNotEquals(methodParameterDetails1, null); } @Test public void testEqualsHashCode() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, null, null); MethodParameterDetails methodParameterDetails2 = new MethodParameterDetails(methodParameter, null, null); assertEquals(methodParameterDetails1, methodParameterDetails2); } @Test public void testNotEqualsHashCode() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(MockMethods.dynamicSessionFilter(), null, null); MethodParameterDetails methodParameterDetails2 = new MethodParameterDetails(methodParameter, null, null); assertNotEquals(methodParameterDetails1, methodParameterDetails2); } @Test public void testEqualsMediaType() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, null); MethodParameterDetails methodParameterDetails2 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, null); assertEquals(methodParameterDetails1, methodParameterDetails2); } @Test public void testNotEqualsMediaType() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_JSON, null); MethodParameterDetails methodParameterDetails2 = new MethodParameterDetails(methodParameter, MediaType.APPLICATION_XML, null); assertNotEquals(methodParameterDetails1, methodParameterDetails2); } @Test public void testEqualsFilterFields() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, null, new FilterFields()); MethodParameterDetails methodParameterDetails2 = new MethodParameterDetails(methodParameter, null, new FilterFields()); assertEquals(methodParameterDetails1, methodParameterDetails2); } @Test public void testNotEqualsFilterFields() { MethodParameterDetails methodParameterDetails1 = new MethodParameterDetails(methodParameter, null, new FilterFields()); MethodParameterDetails methodParameterDetails2 = new MethodParameterDetails(methodParameter, null, null); assertNotEquals(methodParameterDetails1, methodParameterDetails2); } @Test public void testGetMethodParameter() { MethodParameterDetails methodParameterDetails = new MethodParameterDetails(methodParameter, null, new FilterFields()); assertEquals(methodParameterDetails.getMethodParameter(), methodParameter); } }