package io.ebeaninternal.server.core.bootup; import org.junit.Test; import java.util.Arrays; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; public class DistillPackagesTest { @Test public void when_unique_expect_all() throws Exception { List<String> distill = DistillPackages.distill(group("one", "two"), group("three")); assertThat(distill).containsExactly("one", "three", "two"); } @Test public void when_sub_expect_distilled() throws Exception { List<String> distill = DistillPackages.distill(group("one", "one.sub"), group("three")); assertThat(distill).containsExactly("one", "three"); } @Test public void when_sub_expect_distilled2() throws Exception { List<String> distill = DistillPackages.distill(group("one", "one.sub"), group("one.foo")); assertThat(distill).containsExactly("one"); } @Test public void when_subDotSub_expect_distilled2() throws Exception { List<String> distill = DistillPackages.distill(group("one", "one.sub.me"), group("two")); assertThat(distill).containsExactly("one", "two"); } @Test public void when_unordered_expect_naturalOrder() throws Exception { List<String> distill = DistillPackages.distill(group("z.x.y", "two"), group("one", "one.sub.me")); assertThat(distill).containsExactly("one", "two", "z.x.y"); } List<String> group(String... packages) { return Arrays.asList(packages); } }