GH-872 - Introduce proper identifiers for ApplicationModules.

Introduced ApplicationModuleIdentifier that ensures that identifiers chosen for application modules do not contain a double colon (::) as we need those as separator characters for manual dependency declarations referring to named interfaces.
This commit is contained in:
Oliver Drotbohm
2024-10-13 12:04:27 +02:00
parent 5733a27ff4
commit 68185a7aef
10 changed files with 194 additions and 43 deletions

View File

@@ -32,7 +32,8 @@ class ApplicationModulesUnitTests {
void discoversComplexModuleArrangement() {
assertThat(modules)
.extracting(ApplicationModule::getName)
.extracting(ApplicationModule::getIdentifier)
.extracting(Object::toString)
.containsExactlyInAnyOrder(
"invalid",
"jmolecules",
@@ -55,11 +56,13 @@ class ApplicationModulesUnitTests {
assertThat(ni.getParentModule(modules)).isEmpty();
assertThat(ni.getDirectlyNestedModules(modules))
.extracting(ApplicationModule::getName)
.extracting(ApplicationModule::getIdentifier)
.extracting(Object::toString)
.containsExactlyInAnyOrder("ni.nested");
assertThat(ni.getNestedModules(modules))
.extracting(ApplicationModule::getName)
.extracting(ApplicationModule::getIdentifier)
.extracting(Object::toString)
.containsExactlyInAnyOrder("ni.nested", "ni.nested.b.first", "ni.nested.b.second");
}