|
@@ -13,13 +13,13 @@ import org.junit.jupiter.api.Test;
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
import static org.mockito.Mockito.mock;
|
|
|
|
|
|
-public class BaseCollectionTest {
|
|
|
+public class ParentTest {
|
|
|
|
|
|
- private BaseCollection baseCollection;
|
|
|
+ private Parent parent;
|
|
|
|
|
|
@BeforeEach
|
|
|
public void beforeEach() {
|
|
|
- baseCollection = new BaseCollection() {
|
|
|
+ parent = new Parent() {
|
|
|
@Override
|
|
|
public TranslationKey getTranslation() {
|
|
|
return mock(TranslationKey.class);
|
|
@@ -29,93 +29,93 @@ public class BaseCollectionTest {
|
|
|
|
|
|
@Test
|
|
|
public void resolve_includeFieldIfAnnotated() {
|
|
|
- baseCollection.resolve(new ContainerWithEntry(), new ContainerWithContainerWithEntry(), new ContainerWithGroupWithEntry());
|
|
|
- assertEquals(2, baseCollection.getEntries().size());
|
|
|
- assertEquals(1, baseCollection.getCollections().size());
|
|
|
+ parent.resolve(new ContainerWithEntry(), new ContainerWithContainerWithEntry(), new ContainerWithGroupWithEntry());
|
|
|
+ assertEquals(2, parent.getEntries().size());
|
|
|
+ assertEquals(1, parent.getClusters().size());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_excludeFieldIfNotAnnotated() {
|
|
|
- baseCollection.resolve(new ContainerWithField());
|
|
|
- assertTrue(baseCollection.isEmpty());
|
|
|
+ parent.resolve(new ContainerWithField());
|
|
|
+ assertTrue(parent.isEmpty());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_includeFieldInEntries() {
|
|
|
- baseCollection.resolve(new EntriesContainerWithEntry());
|
|
|
- assertEquals(1, baseCollection.getEntries().size());
|
|
|
+ parent.resolve(new EntriesContainerWithEntry());
|
|
|
+ assertEquals(1, parent.getEntries().size());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_excludeFieldInEntriesIfContainer() {
|
|
|
- baseCollection.resolve(new EntriesContainerWithEmptyContainer());
|
|
|
- assertTrue(baseCollection.isEmpty());
|
|
|
+ parent.resolve(new EntriesContainerWithEmptyContainer());
|
|
|
+ assertTrue(parent.isEmpty());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_excludeFieldInEntriesIfIgnoreAnnotated() {
|
|
|
- baseCollection.resolve(new EntriesContainerWithIgnoredField());
|
|
|
- assertTrue(baseCollection.isEmpty());
|
|
|
+ parent.resolve(new EntriesContainerWithIgnoredField());
|
|
|
+ assertTrue(parent.isEmpty());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_excludeFieldInEntriesIfTransient() {
|
|
|
- baseCollection.resolve(new EntriesContainerWithTransientField());
|
|
|
- assertTrue(baseCollection.isEmpty());
|
|
|
+ parent.resolve(new EntriesContainerWithTransientField());
|
|
|
+ assertTrue(parent.isEmpty());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_includeSuperclassFieldIfNonStatic() {
|
|
|
- baseCollection.resolve(new SubclassOfContainerWithEntry(), new SubclassOfContainerWithContainerWithEntry());
|
|
|
- assertEquals(2, baseCollection.getEntries().size());
|
|
|
+ parent.resolve(new SubclassOfContainerWithEntry(), new SubclassOfContainerWithContainerWithEntry());
|
|
|
+ assertEquals(2, parent.getEntries().size());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_excludeSuperclassFieldIfStatic() {
|
|
|
- baseCollection.resolve(new SubclassOfContainerWithStaticEntry(), new SubclassOfContainerWithStaticContainerWithEntry());
|
|
|
- assertTrue(baseCollection.isEmpty());
|
|
|
+ parent.resolve(new SubclassOfContainerWithStaticEntry(), new SubclassOfContainerWithStaticContainerWithEntry());
|
|
|
+ assertTrue(parent.isEmpty());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_includeFromMethod() {
|
|
|
- baseCollection.resolve(new ContainerIncludingContainerWithEntry(), new ContainerIncludingGroupWithEntry());
|
|
|
- assertEquals(1, baseCollection.getEntries().size());
|
|
|
- assertEquals(1, baseCollection.getCollections().size());
|
|
|
+ parent.resolve(new ContainerIncludingContainerWithEntry(), new ContainerIncludingGroupWithEntry());
|
|
|
+ assertEquals(1, parent.getEntries().size());
|
|
|
+ assertEquals(1, parent.getClusters().size());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_includeNestedIfStatic() {
|
|
|
- baseCollection.resolve(new ContainerNestingStaticContainerWithEntry());
|
|
|
- assertEquals(1, baseCollection.getEntries().size());
|
|
|
+ parent.resolve(new ContainerNestingStaticContainerWithEntry());
|
|
|
+ assertEquals(1, parent.getEntries().size());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_throwIfNestedNonContainer() {
|
|
|
- IllegalAnnotationTargetException exception = assertThrows(IllegalAnnotationTargetException.class, () -> baseCollection.resolve(new ContainerNestingStaticClass()));
|
|
|
+ IllegalAnnotationTargetException exception = assertThrows(IllegalAnnotationTargetException.class, () -> parent.resolve(new ContainerNestingStaticClass()));
|
|
|
assertEquals("Transitive " + ContainerNestingStaticClass.Class.class + " must implement " + ConfigContainer.class.getSimpleName(), exception.getMessage());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_throwIfNestedNonStatic() {
|
|
|
- IllegalAnnotationTargetException exception = assertThrows(IllegalAnnotationTargetException.class, () -> baseCollection.resolve(new ContainerNestingContainerWithEntry()));
|
|
|
+ IllegalAnnotationTargetException exception = assertThrows(IllegalAnnotationTargetException.class, () -> parent.resolve(new ContainerNestingContainerWithEntry()));
|
|
|
assertEquals("Transitive " + ContainerNestingContainerWithEntry.ContainerWithEntry.class + " must be static", exception.getMessage());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_listenSetter() {
|
|
|
SetterListener listener = new SetterListener();
|
|
|
- baseCollection.resolve(listener);
|
|
|
+ parent.resolve(listener);
|
|
|
boolean value = !listener.getValue();
|
|
|
- Iterables.getOnlyElement(baseCollection.getEntries()).setValue(value);
|
|
|
+ Iterables.getOnlyElement(parent.getEntries()).setValue(value);
|
|
|
assertEquals(value, listener.getValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void resolve_doNotUpdateListenerField() {
|
|
|
EmptyListener listener = new EmptyListener();
|
|
|
- baseCollection.resolve(listener);
|
|
|
+ parent.resolve(listener);
|
|
|
boolean oldValue = listener.getValue();
|
|
|
- Iterables.getOnlyElement(baseCollection.getEntries()).setValue(!oldValue);
|
|
|
+ Iterables.getOnlyElement(parent.getEntries()).setValue(!oldValue);
|
|
|
assertEquals(oldValue, listener.getValue());
|
|
|
}
|
|
|
|