Source:
<code><START> public void testRemoveTopLevelDataTypes() { <END> final DataType dataType = mock(DataType.class); final DataType dataType0 = mock(DataType.class); final DataType dataType1 = mock(DataType.class); final DataType dataType2 = mock(DataType.class); final DataType dataType3 = mock(DataType.class); when(listItem.getDataType()).thenReturn(dataType); when(dataType0.getName()).thenReturn("tPerson"); when(dataType0.isTopLevel()).thenReturn(true); when(dataType1.getType()).thenReturn("tPerson"); when(dataType1.isTopLevel()).thenReturn(false); when(dataType2.getType()).thenReturn("tCity"); when(dataType2.isTopLevel()).thenReturn(true); when(dataType3.getName()).thenReturn("tCity"); when(dataType3.isTopLevel()).thenReturn(false); final List<DataType> actualDataTypes = listItem.removeTopLevelDataTypes(asList(dataType0, dataType1, dataType2, dataType3)); final List<DataType> expectedDataTypes = asList(dataType0, dataType2); verify(dataTypeList).removeItem(dataType0); verify(dataTypeList).removeItem(dataType2); assertEquals(expectedDataTypes, actualDataTypes); }</code><technical_language>I this test is insufficient, I be: java @Test public void testRemoveTopLevelDataTypes() { final DataType dataType = mock(DataType.class); final DataType dataType0 = mock(DataType.class); final DataType dataType1 = mock(DataType.class); final DataType dataType2 = mock(DataType.class); final DataType dataType3 = mock(DataType.class); when(listItem.getDataType()).thenReturn(dataType); when(dataType.getName()).thenReturn("tPerson"); when(dataType0.getName()).thenReturn("tPerson"); when(dataType0.isTopLevel()).thenReturn(true); when(dataType1.getType()).thenReturn("tPerson"); when(dataType1.isTopLevel()).thenReturn(false); when(dataType2.getType()).thenReturn("tCity"); when(dataType2.isTopLevel()).thenReturn(true); when(dataType3.getName()).thenReturn("tCity"); when(dataType3.isTopLevel()).thenReturn(false); final List<DataType> actualDataTypes = listItem.removeTopLevelDataTypes(asList(dataType0, dataType1, dataType2, dataType3)); final List<DataType> expectedDataTypes = asList(dataType0); verify(dataTypeList).removeItem(dataType0); assertEquals(expectedDataTypes, actualDataTypes); }</technical_language>

Target:
public void testRemoveTopLevelDataTypes() { final DataType dataType = mock(DataType.class); final DataType dataType0 = mock(DataType.class); final DataType dataType1 = mock(DataType.class); final DataType dataType2 = mock(DataType.class); final DataType dataType3 = mock(DataType.class); when(listItem.getDataType()).thenReturn(dataType); when(dataType.getName()).thenReturn("tPerson"); when(dataType0.getName()).thenReturn("tPerson"); when(dataType0.isTopLevel()).thenReturn(true); when(dataType1.getType()).thenReturn("tPerson"); when(dataType1.isTopLevel()).thenReturn(false); when(dataType2.getType()).thenReturn("tCity"); when(dataType2.isTopLevel()).thenReturn(true); when(dataType3.getName()).thenReturn("tCity"); when(dataType3.isTopLevel()).thenReturn(false); final List<DataType> actualDataTypes = listItem.removeTopLevelDataTypes(asList(dataType0, dataType1, dataType2, dataType3)); final List<DataType> expectedDataTypes = singletonList(dataType0); verify(dataTypeList).removeItem(dataType0); assertEquals(expectedDataTypes, actualDataTypes); }