@Test public void should_build_with_types_with_and_without_methods() { IType type3 = type("type3"); IType type1 = type("type1"); methods.add(mockMethod(type1, "method1B")); methods.add(mockMethod(type3, "method3A")); methods.add(mockMethod(type1, "method1A")); IType type2 = type("type2"); types.add(type2); MemberContentProvider contentProvider = new MemberContentProvider(types, methods, null); Object[] elements = contentProvider.getElements(null); assertThat(Arrays.asList(elements)) .onProperty("elementName") .containsExactly("type2", "type1", "type3"); Object[] children1 = contentProvider.getChildren(elements[1]); assertThat(Arrays.asList(children1)) .onProperty("elementName") .containsExactly("method1A", "method1B"); Object[] children3 = contentProvider.getChildren(elements[2]); assertThat(children3).onProperty("elementName").containsOnly("method3A"); }
@Test public void getElements_should_return_types_when_called_with_types() { types.add(type("type2")); types.add(type("type3")); types.add(type("type1")); MemberContentProvider contentProvider = new MemberContentProvider(types, methods, null); Object[] elements = contentProvider.getElements(null); assertThat(Arrays.asList(elements)) .onProperty("elementName") .containsExactly("type1", "type2", "type3"); }
@Test public void should_detect_types_when_only_method_is_given() { IType type1 = type("type1"); types.add(type1); IType type2 = type("type2"); // not added to type set methods.add(mockMethod(type2, "method2A")); MemberContentProvider contentProvider = new MemberContentProvider(types, methods, null); Object[] elements = contentProvider.getElements(null); assertThat(Arrays.asList(elements)).onProperty("elementName").containsExactly("type1", "type2"); Object[] children2 = contentProvider.getChildren(elements[1]); assertThat(children2).onProperty("elementName").containsOnly("method2A"); }