Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 40 additions & 28 deletions biz.aQute.bndlib.tests/test/test/model/EETest.java
Original file line number Diff line number Diff line change
Expand Up @@ -96,34 +96,20 @@ public void checkEEHasCompatible(EE ee) throws Exception {
@ArgumentsSource(EEsArgumentsProvider.class)
@DisplayName("Validate release target for each EE")
public void checkEEHasValidRelease(EE ee) throws Exception {
switch (ee) {
case OSGI_Minimum_1_0 :
case OSGI_Minimum_1_1 :
case OSGI_Minimum_1_2 :
case J2SE_1_2 :
case J2SE_1_3 :
case J2SE_1_4 :
case J2SE_1_5 :
case JRE_1_1 :
assertThat(ee.getReleaseTarget()).isEmpty();
break;
case JavaSE_1_6 :
assertThat(ee.getReleaseTarget()).hasValue(6);
break;
case JavaSE_1_7 :
assertThat(ee.getReleaseTarget()).hasValue(7);
break;
case JavaSE_1_8 :
case JavaSE_compact1_1_8 :
case JavaSE_compact2_1_8 :
case JavaSE_compact3_1_8 :
assertThat(ee.getReleaseTarget()).hasValue(8);
break;

default :
assertThat(ee.getReleaseTarget()).hasValue(ee.getCapabilityVersion()
.getMajor());
break;
if (ee == EE.OSGI_Minimum_1_0 || ee == EE.OSGI_Minimum_1_1 || ee == EE.OSGI_Minimum_1_2 ||
ee == EE.J2SE_1_2 || ee == EE.J2SE_1_3 || ee == EE.J2SE_1_4 || ee == EE.J2SE_1_5 ||
ee == EE.JRE_1_1) {
assertThat(ee.getReleaseTarget()).isEmpty();
} else if (ee == EE.JavaSE_1_6) {
assertThat(ee.getReleaseTarget()).hasValue(6);
} else if (ee == EE.JavaSE_1_7) {
assertThat(ee.getReleaseTarget()).hasValue(7);
} else if (ee == EE.JavaSE_1_8 || ee == EE.JavaSE_compact1_1_8 ||
ee == EE.JavaSE_compact2_1_8 || ee == EE.JavaSE_compact3_1_8) {
assertThat(ee.getReleaseTarget()).hasValue(8);
} else {
assertThat(ee.getReleaseTarget()).hasValue(ee.getCapabilityVersion()
.getMajor());
}
}

Expand Down Expand Up @@ -180,4 +166,30 @@ public Stream<? extends Arguments> provideArguments(ExtensionContext context) th
}
}

@Test
public void testDynamicEECreation() throws Exception {
// Test getting existing EE
EE ee24 = EE.getOrCreate(24);
assertThat(ee24).isSameAs(EE.JavaSE_24);
assertThat(ee24.getEEName()).isEqualTo("JavaSE-24");
assertThat(ee24.getRelease()).isEqualTo(24);

// Test creating dynamic EE for Java 31 (not defined in the class)
EE ee31 = EE.getOrCreate(31);
assertThat(ee31).isNotNull();
assertThat(ee31.getEEName()).isEqualTo("JavaSE-31");
assertThat(ee31.name()).isEqualTo("JavaSE_31");
assertThat(ee31.getRelease()).isEqualTo(31);
assertThat(ee31.getCapabilityVersion().getMajor()).isEqualTo(31);

// Test that we get the same instance on subsequent calls
EE ee31_again = EE.getOrCreate(31);
assertThat(ee31_again).isSameAs(ee31);

// Test creating another dynamic EE
EE ee40 = EE.getOrCreate(40);
assertThat(ee40.getRelease()).isEqualTo(40);
assertThat(ee40.getEEName()).isEqualTo("JavaSE-40");
}

}
Loading