Ver código fonte

Test refactor

Lortseam 4 anos atrás
pai
commit
110e6e158b
22 arquivos alterados com 80 adições e 25 exclusões
  1. 53 2
      src/test/java/me/lortseam/completeconfig/ConfigTest.java
  2. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerIncludingContainerWithEntry.java
  3. 2 2
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerIncludingGroupWithEntry.java
  4. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerNestingStaticContainerWithEntry.java
  5. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithContainerWithEntry.java
  6. 5 1
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithEntry.java
  7. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithField.java
  8. 2 2
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithGroupWithEntry.java
  9. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithNonAnnotatedContainerWithEntry.java
  10. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithStaticEntry.java
  11. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/EmptyContainer.java
  12. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerNestingContainerWithEntry.java
  13. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerNestingStaticContainerWithEntry.java
  14. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerWithContainerWithEntry.java
  15. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerWithEmptyContainer.java
  16. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerWithEntry.java
  17. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerWithIgnoredField.java
  18. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/SubclassOfContainerWithContainerWithEntry.java
  19. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/SubclassOfContainerWithEntry.java
  20. 1 1
      src/test/java/me/lortseam/completeconfig/data/containers/SubclassOfContainerWithStaticEntry.java
  21. 1 1
      src/test/java/me/lortseam/completeconfig/data/groups/EmptyGroup.java
  22. 1 1
      src/test/java/me/lortseam/completeconfig/data/groups/GroupWithEntry.java

+ 53 - 2
src/test/java/me/lortseam/completeconfig/ConfigTest.java

@@ -1,11 +1,12 @@
 package me.lortseam.completeconfig;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
-import me.lortseam.completeconfig.containers.*;
 import me.lortseam.completeconfig.data.Config;
 import me.lortseam.completeconfig.data.Entry;
 import me.lortseam.completeconfig.data.EntryBase;
-import me.lortseam.completeconfig.groups.EmptyGroup;
+import me.lortseam.completeconfig.data.containers.*;
+import me.lortseam.completeconfig.data.groups.EmptyGroup;
+import me.lortseam.completeconfig.data.listeners.*;
 import me.lortseam.completeconfig.io.ConfigSource;
 import nl.altindag.log.LogCaptor;
 import org.apache.logging.log4j.core.util.ReflectionUtil;
@@ -211,6 +212,56 @@ public class ConfigTest {
 
             }
 
+            @Nested
+            public class Listener {
+
+                @Test
+                public void listenSetter() {
+                    SetterListener listener = new SetterListener();
+                    Config config = builder.add(listener).build();
+                    boolean value = !listener.getValue();
+                    config.getEntries().iterator().next().setValue(value);
+                    assertEquals(value, listener.getValue());
+                }
+
+                @Test
+                public void listenCustom() {
+                    CustomListener listener = new CustomListener();
+                    Config config = builder.add(listener).build();
+                    boolean value = !listener.getValue();
+                    config.getEntries().iterator().next().setValue(value);
+                    assertEquals(value, listener.getValue());
+                }
+
+                @Test
+                public void doNotUpdateField() {
+                    EmptyListener listener = new EmptyListener();
+                    Config config = builder.add(listener).build();
+                    boolean oldValue = listener.getValue();
+                    config.getEntries().iterator().next().setValue(!oldValue);
+                    assertEquals(oldValue, listener.getValue());
+                }
+
+                @Test
+                public void forceUpdate() {
+                    ForceUpdateListener listener = new ForceUpdateListener();
+                    Config config = builder.add(listener).build();
+                    boolean value = !listener.getValue();
+                    config.getEntries().iterator().next().setValue(value);
+                    assertEquals(value, listener.getValue());
+                }
+
+                @Test
+                public void listenOutside() {
+                    OutsideListener listener = new OutsideListener();
+                    Config config = builder.add(listener).build();
+                    boolean value = !listener.getValue();
+                    config.getEntries().iterator().next().setValue(value);
+                    assertEquals(value, listener.getValue());
+                }
+
+            }
+
         }
 
     }

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/ContainerIncludingContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerIncludingContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 2 - 2
src/test/java/me/lortseam/completeconfig/containers/ContainerIncludingGroupWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerIncludingGroupWithEntry.java

@@ -1,7 +1,7 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
-import me.lortseam.completeconfig.groups.GroupWithEntry;
+import me.lortseam.completeconfig.data.groups.GroupWithEntry;
 
 public class ContainerIncludingGroupWithEntry implements ConfigEntryContainer {
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/ContainerNestingStaticContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerNestingStaticContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntry;
 import me.lortseam.completeconfig.api.ConfigEntryContainer;

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/ContainerWithContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 5 - 1
src/test/java/me/lortseam/completeconfig/containers/ContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntry;
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
@@ -8,4 +8,8 @@ public class ContainerWithEntry implements ConfigEntryContainer {
     @ConfigEntry
     private boolean entry;
 
+    public boolean getValue() {
+        return entry;
+    }
+
 }

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/ContainerWithField.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithField.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 2 - 2
src/test/java/me/lortseam/completeconfig/containers/ContainerWithGroupWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithGroupWithEntry.java

@@ -1,7 +1,7 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
-import me.lortseam.completeconfig.groups.GroupWithEntry;
+import me.lortseam.completeconfig.data.groups.GroupWithEntry;
 
 public class ContainerWithGroupWithEntry implements ConfigEntryContainer {
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/ContainerWithNonAnnotatedContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithNonAnnotatedContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/ContainerWithStaticEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/ContainerWithStaticEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntry;
 import me.lortseam.completeconfig.api.ConfigEntryContainer;

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/EmptyContainer.java → src/test/java/me/lortseam/completeconfig/data/containers/EmptyContainer.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/POJOContainerNestingContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerNestingContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntry;
 import me.lortseam.completeconfig.api.ConfigEntryContainer;

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/POJOContainerNestingStaticContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerNestingStaticContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntry;
 import me.lortseam.completeconfig.api.ConfigEntryContainer;

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/POJOContainerWithContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerWithContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/POJOContainerWithEmptyContainer.java → src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerWithEmptyContainer.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/POJOContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/POJOContainerWithIgnoredField.java → src/test/java/me/lortseam/completeconfig/data/containers/POJOContainerWithIgnoredField.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 import me.lortseam.completeconfig.api.ConfigEntryContainer;
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/SubclassOfContainerWithContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/SubclassOfContainerWithContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 public class SubclassOfContainerWithContainerWithEntry extends ContainerWithContainerWithEntry {
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/SubclassOfContainerWithEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/SubclassOfContainerWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 public class SubclassOfContainerWithEntry extends ContainerWithEntry {
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/containers/SubclassOfContainerWithStaticEntry.java → src/test/java/me/lortseam/completeconfig/data/containers/SubclassOfContainerWithStaticEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.containers;
+package me.lortseam.completeconfig.data.containers;
 
 public class SubclassOfContainerWithStaticEntry extends ContainerWithStaticEntry {
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/groups/EmptyGroup.java → src/test/java/me/lortseam/completeconfig/data/groups/EmptyGroup.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.groups;
+package me.lortseam.completeconfig.data.groups;
 
 import me.lortseam.completeconfig.api.ConfigGroup;
 

+ 1 - 1
src/test/java/me/lortseam/completeconfig/groups/GroupWithEntry.java → src/test/java/me/lortseam/completeconfig/data/groups/GroupWithEntry.java

@@ -1,4 +1,4 @@
-package me.lortseam.completeconfig.groups;
+package me.lortseam.completeconfig.data.groups;
 
 import me.lortseam.completeconfig.api.ConfigEntry;
 import me.lortseam.completeconfig.api.ConfigGroup;