package com.celements.validation; import static org.junit.Assert.*; import org.junit.Test; public class RequestParameterTest { @Test public void testCreate_null() { assertNull(RequestParameter.create("")); assertNull(RequestParameter.create("Class.Name_field")); } @Test public void testCreate() { String paramName = "Class.Name_5_field"; RequestParameter param = RequestParameter.create(paramName); assertNotNull(param); assertEquals(paramName, param.getParameterName()); assertEquals("Class.Name", param.getClassName()); assertEquals(5, param.getObjectNr()); assertEquals("field", param.getFieldName()); } @Test public void testResolveFieldNameFromParam_withDoc() { String paramName = "Space.Doc_Class.Name_-123_field"; RequestParameter param = RequestParameter.create(paramName); assertNotNull(param); assertEquals(paramName, param.getParameterName()); assertEquals("Class.Name", param.getClassName()); assertEquals(-123, param.getObjectNr()); assertEquals("field", param.getFieldName()); } @Test public void testIsValidRequestParam_noMatch() { String paramName = ""; assertFalse(RequestParameter.isValidRequestParam(paramName)); paramName = "abcd"; assertFalse(RequestParameter.isValidRequestParam(paramName)); paramName = "Hi_0_there"; assertFalse(RequestParameter.isValidRequestParam(paramName)); } @Test public void testIsValidRequestParam_match() { String paramName = "Space.Doc_0_field_one"; assertTrue(RequestParameter.isValidRequestParam(paramName)); paramName = "Space.Doc_Class.Name_3_field"; assertTrue(RequestParameter.isValidRequestParam(paramName)); } @Test public void testIncludesDocName_noMatch() { String paramName = ""; assertFalse(RequestParameter.includesDocName(paramName)); paramName = "abcd"; assertFalse(RequestParameter.includesDocName(paramName)); paramName = "Space.Doc_0_field_one"; assertFalse(RequestParameter.includesDocName(paramName)); } @Test public void testIncludesDocName_match() { String paramName = "Space.Doc_Class.Name_5_field"; assertTrue(RequestParameter.includesDocName(paramName)); } @Test public void testEquals() { String parameterName = "MyClass.Name_0_myFieldName"; String parameterName2 = "MyClass.Name_0_myFieldName2"; RequestParameter param1 = RequestParameter.create(parameterName); RequestParameter param2 = RequestParameter.create(parameterName2); assertEquals(param1, param1); assertTrue(param1.hashCode() == param1.hashCode()); assertEquals(param2, param2); assertTrue(param2.hashCode() == param2.hashCode()); assertFalse(param1.equals(param2)); assertFalse(param1.hashCode() == param2.hashCode()); } }