TextResourceOriginTests Class — spring-boot Architecture
Architecture documentation for the TextResourceOriginTests class in TextResourceOriginTests.java from the spring-boot codebase.
Entity Profile
Source Code
core/spring-boot/src/test/java/org/springframework/boot/origin/TextResourceOriginTests.java lines 36–169
class TextResourceOriginTests {
@Test
void createWithNullResourceSetsNullResource() {
TextResourceOrigin origin = new TextResourceOrigin(null, null);
assertThat(origin.getResource()).isNull();
}
@Test
void createWithNullLocationSetsNullLocation() {
TextResourceOrigin origin = new TextResourceOrigin(null, null);
assertThat(origin.getLocation()).isNull();
}
@Test
void getResourceReturnResource() {
ClassPathResource resource = new ClassPathResource("foo.txt");
TextResourceOrigin origin = new TextResourceOrigin(resource, null);
assertThat(origin.getResource()).isEqualTo(resource);
}
@Test
void getLocationReturnsLocation() {
Location location = new Location(1, 2);
TextResourceOrigin origin = new TextResourceOrigin(null, location);
assertThat(origin.getLocation()).isEqualTo(location);
}
@Test
void getParentWhenResourceIsNotOriginTrackedReturnsNull() {
ClassPathResource resource = new ClassPathResource("foo.txt");
TextResourceOrigin origin = new TextResourceOrigin(resource, null);
assertThat(origin.getParent()).isNull();
}
@Test
void getParentWhenResourceIsOriginTrackedReturnsResourceOrigin() {
Origin resourceOrigin = MockOrigin.of("test");
Resource resource = OriginTrackedResource.of(new ClassPathResource("foo.txt"), resourceOrigin);
TextResourceOrigin origin = new TextResourceOrigin(resource, null);
assertThat(origin.getParent()).isSameAs(resourceOrigin);
}
@Test
void getLocationLineReturnsLine() {
Location location = new Location(1, 2);
assertThat(location.getLine()).isOne();
}
@Test
void getLocationColumnReturnsColumn() {
Location location = new Location(1, 2);
assertThat(location.getColumn()).isEqualTo(2);
}
@Test
void locationToStringReturnsNiceString() {
Location location = new Location(1, 2);
assertThat(location).hasToString("2:3");
}
@Test
void toStringReturnsNiceString() {
ClassPathResource resource = new ClassPathResource("foo.txt");
Location location = new Location(1, 2);
TextResourceOrigin origin = new TextResourceOrigin(resource, location);
assertThat(origin).hasToString("class path resource [foo.txt] - 2:3");
}
@Test
void toStringWhenResourceIsNullReturnsNiceString() {
Location location = new Location(1, 2);
TextResourceOrigin origin = new TextResourceOrigin(null, location);
assertThat(origin).hasToString("unknown resource [?] - 2:3");
}
@Test
void toStringWhenLocationIsNullReturnsNiceString() {
ClassPathResource resource = new ClassPathResource("foo.txt");
TextResourceOrigin origin = new TextResourceOrigin(resource, null);
assertThat(origin).hasToString("class path resource [foo.txt]");
}
@Test
void toStringWhenResourceIsClasspathResourceReturnsToStringWithJar() {
ClassPathResource resource = new ClassPathResource("foo.txt") {
@Override
public URI getURI() throws IOException {
try {
return new URI("jar:file:/home/user/project/target/project-0.0.1-SNAPSHOT.jar"
+ "!/BOOT-INF/classes!/foo.txt");
}
catch (URISyntaxException ex) {
throw new IllegalStateException(ex);
}
}
};
Location location = new Location(1, 2);
TextResourceOrigin origin = new TextResourceOrigin(resource, location);
assertThat(origin).hasToString("class path resource [foo.txt] from project-0.0.1-SNAPSHOT.jar - 2:3");
}
@Test
void locationEqualsAndHashCodeUsesLineAndColumn() {
Location location1 = new Location(1, 2);
Location location2 = new Location(1, 2);
Location location3 = new Location(2, 2);
assertThat(location1).hasSameHashCodeAs(location1);
assertThat(location1).hasSameHashCodeAs(location2);
assertThat(location1.hashCode()).isNotEqualTo(location3.hashCode());
assertThat(location1).isEqualTo(location1);
assertThat(location1).isEqualTo(location2);
assertThat(location1).isNotEqualTo(location3);
}
@Test
void equalsAndHashCodeUsesResourceAndLocation() {
TextResourceOrigin origin1 = new TextResourceOrigin(new ClassPathResource("foo.txt"), new Location(1, 2));
TextResourceOrigin origin2 = new TextResourceOrigin(new ClassPathResource("foo.txt"), new Location(1, 2));
TextResourceOrigin origin3 = new TextResourceOrigin(new ClassPathResource("foo.txt"), new Location(2, 2));
TextResourceOrigin origin4 = new TextResourceOrigin(new ClassPathResource("foo2.txt"), new Location(1, 2));
assertThat(origin1).hasSameHashCodeAs(origin1);
assertThat(origin1).hasSameHashCodeAs(origin2);
assertThat(origin1.hashCode()).isNotEqualTo(origin3.hashCode());
assertThat(origin1.hashCode()).isNotEqualTo(origin4.hashCode());
assertThat(origin1).isEqualTo(origin1);
assertThat(origin1).isEqualTo(origin2);
assertThat(origin1).isNotEqualTo(origin3);
assertThat(origin1).isNotEqualTo(origin4);
}
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free