aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/config/model/ConfigModelBuilderTest.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /config-model/src/test/java/com/yahoo/config/model/ConfigModelBuilderTest.java
Publish
Diffstat (limited to 'config-model/src/test/java/com/yahoo/config/model/ConfigModelBuilderTest.java')
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/ConfigModelBuilderTest.java121
1 files changed, 121 insertions, 0 deletions
diff --git a/config-model/src/test/java/com/yahoo/config/model/ConfigModelBuilderTest.java b/config-model/src/test/java/com/yahoo/config/model/ConfigModelBuilderTest.java
new file mode 100644
index 00000000000..10efd62479d
--- /dev/null
+++ b/config-model/src/test/java/com/yahoo/config/model/ConfigModelBuilderTest.java
@@ -0,0 +1,121 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.config.model;
+
+import com.yahoo.config.model.builder.xml.ConfigModelBuilder;
+import com.yahoo.config.model.builder.xml.ConfigModelId;
+import org.junit.Test;
+import org.w3c.dom.Element;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author lulf
+ * @since 5.1
+ */
+public class ConfigModelBuilderTest {
+ @Test
+ public void testEquals() {
+ ConfigModelBuilder<?> ba = new A.Builder();
+ ConfigModelBuilder<?> ba2 = new A2.Builder();
+ ConfigModelBuilder<?> bb = new B.Builder();
+ ConfigModelBuilder <?>bb2 = new B2.Builder();
+
+ assertTrue(ba.equals(ba));
+ assertTrue(ba.equals(ba2));
+ assertFalse(ba.equals(bb));
+ assertFalse(ba.equals(bb2));
+
+ assertTrue(ba2.equals(ba));
+ assertTrue(ba2.equals(ba2));
+ assertFalse(ba2.equals(bb));
+ assertFalse(ba2.equals(bb2));
+
+ assertFalse(bb.equals(ba));
+ assertFalse(bb.equals(ba2));
+ assertTrue(bb.equals(bb));
+ assertFalse(bb.equals(bb2));
+
+ assertFalse(bb2.equals(ba));
+ assertFalse(bb2.equals(ba2));
+ assertFalse(bb2.equals(bb));
+ assertTrue(bb2.equals(bb2));
+
+ assertFalse(ba.equals(new ArrayList<>()));
+ }
+
+ private static class A extends ConfigModel {
+ public A(ConfigModelContext modelContext) { super(modelContext); }
+ public static class Builder extends ConfigModelBuilder<A> {
+ public Builder() { super(A.class); }
+
+ @Override
+ public List<ConfigModelId> handlesElements() {
+ List<ConfigModelId> ids = new ArrayList<>();
+ ids.add(ConfigModelId.fromName("foo"));
+ ids.add(ConfigModelId.fromName("bar"));
+ return ids;
+ }
+
+ @Override
+ public void doBuild(A model, Element spec, ConfigModelContext modelContext) { }
+ }
+
+ }
+
+ private static class A2 extends ConfigModel {
+ public A2(ConfigModelContext modelContext) { super(modelContext); }
+ public static class Builder extends ConfigModelBuilder<A2> {
+ public Builder() { super(A2.class); }
+
+ @Override
+ public List<ConfigModelId> handlesElements() {
+ List<ConfigModelId> ids = new ArrayList<>();
+ ids.add(ConfigModelId.fromName("foo"));
+ ids.add(ConfigModelId.fromName("bar"));
+ return ids;
+ }
+
+ @Override
+ public void doBuild(A2 model, Element spec, ConfigModelContext modelContext) { }
+ }
+ }
+
+ private static class B extends ConfigModel {
+ public B(ConfigModelContext modelContext) { super(modelContext); }
+ public static class Builder extends ConfigModelBuilder<B> {
+ public Builder() { super(B.class); }
+
+ @Override
+ public List<ConfigModelId> handlesElements() {
+ List<ConfigModelId> ids = new ArrayList<>();
+ ids.add(ConfigModelId.fromName("bar"));
+ return ids;
+ }
+
+ @Override
+ public void doBuild(B model, Element spec, ConfigModelContext modelContext) { }
+ }
+ }
+
+ private static class B2 extends ConfigModel {
+ public B2(ConfigModelContext modelContext) { super(modelContext); }
+ public static class Builder extends ConfigModelBuilder<B2> {
+ public Builder() { super(B2.class); }
+
+ @Override
+ public List<ConfigModelId> handlesElements() {
+ List<ConfigModelId> ids = new ArrayList<>();
+ ids.add(ConfigModelId.fromName("foo"));
+ ids.add(ConfigModelId.fromName("bim"));
+ return ids;
+ }
+
+ @Override
+ public void doBuild(B2 model, Element spec, ConfigModelContext modelContext) { }
+ }
+ }
+}