@Before @SuppressWarnings("unchecked") public void setup() throws Exception { pojo = new SomePojo(); testeed = new AbstractBindableDefinitionAdapterStub(definitionUtils); testeed.setBindings(mock(Map.class), baseTypes, mock(Map.class), mock(Map.class), mock(Map.class), propertyIdFieldNames, mock(Map.class), mock(Map.class), mock(Map.class), mock(Map.class), mock(Map.class)); }
@Test @SuppressWarnings("unchecked") public void testGetIdWhenDynamic() { String idFieldName = "theIdField"; String idFieldValue = "theIdFieldValue"; propertyIdFieldNames.put(SomePojo.class, idFieldName); when(delegate.getStringFieldValue(eq(pojo), eq(idFieldName))).thenReturn(idFieldValue); DefinitionId id = testeed.getId(pojo); assertEquals(getDynamicDefinitionId(SomePojo.class, idFieldValue), id.value()); assertEquals(getDefinitionId(SomePojo.class), id.type()); assertTrue(id.isDynamic()); }
@Test @SuppressWarnings("unchecked") public void testGetTypes() { String somePojoClassId = getDefinitionId(SomeBasePojo.class); String pojoClassId = getDefinitionId(SomePojo.class); String[] types = testeed.getTypes(somePojoClassId); assertNull(types); baseTypes.put(SomePojo.class, SomeBasePojo.class); types = testeed.getTypes(somePojoClassId); assertEquals(1, types.length); assertEquals(pojoClassId, types[0]); }
@Test @SuppressWarnings("unchecked") public void testGetBaseType() { String somePojoClassId = getDefinitionId(SomeBasePojo.class); baseTypes.put(SomePojo.class, SomeBasePojo.class); assertEquals(somePojoClassId, testeed.getBaseType(SomePojo.class)); }
@Test @SuppressWarnings("unchecked") public void testGetId() { DefinitionId id = testeed.getId(pojo); assertEquals(getDefinitionId(SomePojo.class), id.value()); assertEquals(getDefinitionId(SomePojo.class), id.type()); assertFalse(id.isDynamic()); }