aboutsummaryrefslogtreecommitdiffstats
path: root/container-disc/src/test/java/com/yahoo/container/jdisc/ConfiguredApplicationTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-disc/src/test/java/com/yahoo/container/jdisc/ConfiguredApplicationTest.java')
-rw-r--r--container-disc/src/test/java/com/yahoo/container/jdisc/ConfiguredApplicationTest.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/container-disc/src/test/java/com/yahoo/container/jdisc/ConfiguredApplicationTest.java b/container-disc/src/test/java/com/yahoo/container/jdisc/ConfiguredApplicationTest.java
new file mode 100644
index 00000000000..555d43f7697
--- /dev/null
+++ b/container-disc/src/test/java/com/yahoo/container/jdisc/ConfiguredApplicationTest.java
@@ -0,0 +1,27 @@
+package com.yahoo.container.jdisc;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+
+import static com.yahoo.container.jdisc.ConfiguredApplication.ordered;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class ConfiguredApplicationTest {
+
+ @Test
+ void testSorting() {
+ class A { @Override public String toString() { return getClass().getSimpleName(); } }
+ class B extends A { }
+ class C extends B { }
+ class D extends B { }
+
+ A a = new A(), b = new B(), c = new C(), d = new D(), e = new D() { @Override public String toString() { return "E"; } };
+ List<A> s = List.of(a, b, c, d, e);
+ assertEquals(List.of(a, b, c, d, e), ordered(s, A.class, B.class, C.class, D.class));
+ assertEquals(List.of(d, e, c, b, a), ordered(s, D.class, C.class, B.class, A.class));
+ assertEquals(List.of(e, c, a, b, d), ordered(s, e.getClass(), C.class, A.class));
+ assertEquals(List.of(d, e, b, c, a), ordered(s, D.class, B.class));
+ }
+
+}