Skip to content

Commit 6d66b39

Browse files
committed
ClassLoaderBasedPathLocator coverage
1 parent 065b3cf commit 6d66b39

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

components/native-loader/src/test/java/datadog/nativeloader/PathLocatorsTest.java

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import static org.junit.jupiter.api.Assertions.assertNotEquals;
55

66
import java.io.File;
7+
import java.net.URL;
8+
import java.net.URLClassLoader;
79
import java.nio.file.Paths;
810
import org.junit.jupiter.api.Test;
911

@@ -50,4 +52,57 @@ public void libPath() {
5052
assertEquals(dirLocator1.hashCode(), dirLocator2.hashCode());
5153
assertEquals(dirLocator1, dirLocator2);
5254
}
55+
56+
@Test
57+
public void classLoaderBased_equals() {
58+
ClassLoader loader = ClassLoader.getSystemClassLoader();
59+
60+
PathLocator locator1 = PathLocators.fromClassLoader(loader);
61+
PathLocator locator2 = PathLocators.fromClassLoader(loader);
62+
63+
assertEquals(locator1.hashCode(), locator2.hashCode());
64+
assertEquals(locator1, locator2);
65+
}
66+
67+
@Test
68+
public void classLoaderBased_with_resource_equals() {
69+
ClassLoader loader = ClassLoader.getSystemClassLoader();
70+
71+
PathLocator locator1 = PathLocators.fromClassLoader(loader, "resource");
72+
PathLocator locator2 = PathLocators.fromClassLoader(loader, "resource");
73+
74+
assertEquals(locator1.hashCode(), locator2.hashCode());
75+
assertEquals(locator1, locator2);
76+
}
77+
78+
@Test
79+
public void classLoaderBased_notEequals_loader() {
80+
ClassLoader loader1 = ClassLoader.getSystemClassLoader();
81+
ClassLoader loader2 = new URLClassLoader(new URL[0]);
82+
83+
PathLocator locator1 = PathLocators.fromClassLoader(loader1);
84+
PathLocator locator2 = PathLocators.fromClassLoader(loader2);
85+
86+
assertNotEquals(locator1, locator2);
87+
}
88+
89+
@Test
90+
public void classLoaderBased_notEequals_resource() {
91+
ClassLoader loader = ClassLoader.getSystemClassLoader();
92+
93+
PathLocator locator1 = PathLocators.fromClassLoader(loader, "resource1");
94+
PathLocator locator2 = PathLocators.fromClassLoader(loader, "resource2");
95+
96+
assertNotEquals(locator1, locator2);
97+
}
98+
99+
@Test
100+
public void classLoaderBased_diffType_notEequals() {
101+
ClassLoader loader = ClassLoader.getSystemClassLoader();
102+
103+
PathLocator locator1 = PathLocators.fromClassLoader(loader, "resource1");
104+
PathLocator locator2 = (comp, path) -> null;
105+
106+
assertNotEquals(locator1, locator2);
107+
}
53108
}

0 commit comments

Comments
 (0)