Skip to content

Commit 7e65f7f

Browse files
authored
Merge branch 'main' into feature/2816
2 parents 45a6037 + cb974d9 commit 7e65f7f

28 files changed

+93
-140
lines changed

gradle/libs.versions.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ junit4 = "4.13.2"
1414
junit4Min = "4.12"
1515
ktlint = "1.5.0"
1616
log4j = "2.24.3"
17-
logback = "1.5.17"
17+
logback = "1.5.18"
1818
opentest4j = "1.3.0"
1919
openTestReporting = "0.2.2"
2020
snapshotTests = "1.11.0"

junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/discovery/ClassOrderingVisitor.java

+9-4
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,19 @@ private void orderNestedClasses(ClassBasedTestDescriptor descriptor) {
6868
descriptor, //
6969
ClassBasedTestDescriptor.class, //
7070
DefaultClassDescriptor::new, //
71-
lookupOrCreateClassLevelOrderer(descriptor));
71+
createAndCacheClassLevelOrderer(descriptor));
7272
}
7373

7474
private DescriptorWrapperOrderer<DefaultClassDescriptor> createGlobalOrderer(JupiterConfiguration configuration) {
7575
ClassOrderer classOrderer = configuration.getDefaultTestClassOrderer().orElse(null);
7676
return classOrderer == null ? DescriptorWrapperOrderer.noop() : createDescriptorWrapperOrderer(classOrderer);
7777
}
7878

79-
private DescriptorWrapperOrderer<DefaultClassDescriptor> lookupOrCreateClassLevelOrderer(
79+
private DescriptorWrapperOrderer<DefaultClassDescriptor> createAndCacheClassLevelOrderer(
8080
ClassBasedTestDescriptor classBasedTestDescriptor) {
81-
return ordererCache.computeIfAbsent(classBasedTestDescriptor, this::createClassLevelOrderer);
81+
DescriptorWrapperOrderer<DefaultClassDescriptor> orderer = createClassLevelOrderer(classBasedTestDescriptor);
82+
ordererCache.put(classBasedTestDescriptor, orderer);
83+
return orderer;
8284
}
8385

8486
private DescriptorWrapperOrderer<DefaultClassDescriptor> createClassLevelOrderer(
@@ -90,7 +92,10 @@ private DescriptorWrapperOrderer<DefaultClassDescriptor> createClassLevelOrderer
9092
.orElseGet(() -> {
9193
Object parent = classBasedTestDescriptor.getParent().orElse(null);
9294
if (parent instanceof ClassBasedTestDescriptor) {
93-
return lookupOrCreateClassLevelOrderer((ClassBasedTestDescriptor) parent);
95+
ClassBasedTestDescriptor parentClassTestDescriptor = (ClassBasedTestDescriptor) parent;
96+
DescriptorWrapperOrderer<DefaultClassDescriptor> cacheEntry = ordererCache.get(
97+
parentClassTestDescriptor);
98+
return cacheEntry != null ? cacheEntry : createClassLevelOrderer(parentClassTestDescriptor);
9499
}
95100
return globalOrderer;
96101
});

junit-vintage-engine/src/test/java/org/junit/vintage/engine/VintageTestEngineDiscoveryTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ void resolvesJUnit4TestCaseWithIndistinguishableOverloadedMethod() {
212212
List<TestDescriptor> testMethodDescriptors = new ArrayList<>(runnerDescriptor.getChildren());
213213
assertThat(testMethodDescriptors).hasSize(2);
214214

215-
var testMethodDescriptor = testMethodDescriptors.get(0);
215+
var testMethodDescriptor = testMethodDescriptors.getFirst();
216216
assertEquals("theory", testMethodDescriptor.getDisplayName());
217217
assertEquals(VintageUniqueIdBuilder.uniqueIdForMethod(testClass, "theory", "0"),
218218
testMethodDescriptor.getUniqueId());

junit-vintage-engine/src/test/java/org/junit/vintage/engine/VintageTestEngineExecutionTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,7 @@ public Description getDescription() {
640640

641641
@Override
642642
public void run(RunNotifier notifier) {
643-
var staticDescription = getDescription().getChildren().get(0);
643+
var staticDescription = getDescription().getChildren().getFirst();
644644
notifier.fireTestStarted(staticDescription);
645645
notifier.fireTestFinished(staticDescription);
646646
var dynamicDescription = createTestDescription(testClass, "dynamicTest");

jupiter-tests/src/test/java/org/junit/jupiter/api/AssumptionsTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -165,15 +165,15 @@ void assumingThatWithBooleanTrue() {
165165
List<String> list = new ArrayList<>();
166166
assumingThat(true, () -> list.add("test"));
167167
assertEquals(1, list.size());
168-
assertEquals("test", list.get(0));
168+
assertEquals("test", list.getFirst());
169169
}
170170

171171
@Test
172172
void assumingThatWithBooleanSupplierTrue() {
173173
List<String> list = new ArrayList<>();
174174
assumingThat(() -> true, () -> list.add("test"));
175175
assertEquals(1, list.size());
176-
assertEquals("test", list.get(0));
176+
assertEquals("test", list.getFirst());
177177
}
178178

179179
@Test

jupiter-tests/src/test/java/org/junit/jupiter/engine/TestInstanceLifecycleTests.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ void instancePerMethod() {
113113
String beforeAllCallbackKey = beforeAllCallbackKey(testClass);
114114
String afterAllCallbackKey = afterAllCallbackKey(testClass);
115115
String testTemplateKey = testTemplateKey(testClass, "singletonTest");
116-
String testExecutionConditionKey1 = executionConditionKey(testClass, testsInvoked.get(0));
116+
String testExecutionConditionKey1 = executionConditionKey(testClass, testsInvoked.getFirst());
117117
String beforeEachCallbackKey1 = beforeEachCallbackKey(testClass, testsInvoked.get(0));
118118
String afterEachCallbackKey1 = afterEachCallbackKey(testClass, testsInvoked.get(0));
119119
String testExecutionConditionKey2 = executionConditionKey(testClass, testsInvoked.get(1));
@@ -195,7 +195,7 @@ private void instancePerClass(Class<?> testClass, Map.Entry<Class<?>, Integer>[]
195195
String preDestroyCallbackTestInstanceKey = preDestroyCallbackTestInstanceKey(testClass);
196196
String beforeAllCallbackKey = beforeAllCallbackKey(testClass);
197197
String afterAllCallbackKey = afterAllCallbackKey(testClass);
198-
String testExecutionConditionKey1 = executionConditionKey(testClass, testsInvoked.get(0));
198+
String testExecutionConditionKey1 = executionConditionKey(testClass, testsInvoked.getFirst());
199199
String beforeEachCallbackKey1 = beforeEachCallbackKey(testClass, testsInvoked.get(0));
200200
String afterEachCallbackKey1 = afterEachCallbackKey(testClass, testsInvoked.get(0));
201201
String testExecutionConditionKey2 = executionConditionKey(testClass, testsInvoked.get(1));
@@ -274,7 +274,7 @@ void instancePerMethodWithNestedTestClass() {
274274
String afterEachCallbackKey = afterEachCallbackKey(testClass, "outerTest");
275275
String nestedBeforeAllCallbackKey = beforeAllCallbackKey(nestedTestClass);
276276
String nestedAfterAllCallbackKey = afterAllCallbackKey(nestedTestClass);
277-
String nestedExecutionConditionKey1 = executionConditionKey(nestedTestClass, testsInvoked.get(0));
277+
String nestedExecutionConditionKey1 = executionConditionKey(nestedTestClass, testsInvoked.getFirst());
278278
String nestedBeforeEachCallbackKey1 = beforeEachCallbackKey(nestedTestClass, testsInvoked.get(0));
279279
String nestedAfterEachCallbackKey1 = afterEachCallbackKey(nestedTestClass, testsInvoked.get(0));
280280
String nestedExecutionConditionKey2 = executionConditionKey(nestedTestClass, testsInvoked.get(1));
@@ -396,7 +396,7 @@ void instancePerClassWithNestedTestClass() {
396396
String afterEachCallbackKey = afterEachCallbackKey(testClass, "outerTest");
397397
String nestedBeforeAllCallbackKey = beforeAllCallbackKey(nestedTestClass);
398398
String nestedAfterAllCallbackKey = afterAllCallbackKey(nestedTestClass);
399-
String nestedExecutionConditionKey1 = executionConditionKey(nestedTestClass, testsInvoked.get(0));
399+
String nestedExecutionConditionKey1 = executionConditionKey(nestedTestClass, testsInvoked.getFirst());
400400
String nestedBeforeEachCallbackKey1 = beforeEachCallbackKey(nestedTestClass, testsInvoked.get(0));
401401
String nestedAfterEachCallbackKey1 = afterEachCallbackKey(nestedTestClass, testsInvoked.get(0));
402402
String nestedExecutionConditionKey2 = executionConditionKey(nestedTestClass, testsInvoked.get(1));
@@ -516,7 +516,7 @@ void instancePerMethodOnOuterTestClassWithInstancePerClassOnNestedTestClass() {
516516
String afterEachCallbackKey = afterEachCallbackKey(testClass, "outerTest");
517517
String nestedBeforeAllCallbackKey = beforeAllCallbackKey(nestedTestClass);
518518
String nestedAfterAllCallbackKey = afterAllCallbackKey(nestedTestClass);
519-
String nestedExecutionConditionKey1 = executionConditionKey(nestedTestClass, testsInvoked.get(0));
519+
String nestedExecutionConditionKey1 = executionConditionKey(nestedTestClass, testsInvoked.getFirst());
520520
String nestedBeforeEachCallbackKey1 = beforeEachCallbackKey(nestedTestClass, testsInvoked.get(0));
521521
String nestedAfterEachCallbackKey1 = afterEachCallbackKey(nestedTestClass, testsInvoked.get(0));
522522
String nestedExecutionConditionKey2 = executionConditionKey(nestedTestClass, testsInvoked.get(1));

jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/BeforeAndAfterEachTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ void beforeEachMethodThrowsAnException() {
229229
);
230230
// @formatter:on
231231

232-
List<String> expected = beforeEachMethodCallSequence.get(0).equals("beforeEachMethod1") ? list1 : list2;
232+
List<String> expected = beforeEachMethodCallSequence.getFirst().equals("beforeEachMethod1") ? list1 : list2;
233233

234234
assertEquals(expected, callSequence, "wrong call sequence");
235235

jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/OrderedMethodTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -821,8 +821,8 @@ static class MisbehavingByRemoving implements MethodOrderer {
821821
@Override
822822
public void orderMethods(MethodOrdererContext context) {
823823
context.getMethodDescriptors().sort(comparing(MethodDescriptor::getDisplayName));
824-
context.getMethodDescriptors().remove(0);
825-
context.getMethodDescriptors().remove(0);
824+
context.getMethodDescriptors().removeFirst();
825+
context.getMethodDescriptors().removeFirst();
826826
}
827827
}
828828

platform-tests/src/test/java/org/junit/platform/StackTracePruningTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ private static List<StackTraceElement> extractStackTrace(EngineExecutionResults
174174
}
175175

176176
private static Throwable getThrowable(EngineExecutionResults results) {
177-
var failedTestEvent = results.testEvents().failed().list().get(0);
177+
var failedTestEvent = results.testEvents().failed().list().getFirst();
178178
var testResult = failedTestEvent.getRequiredPayload(TestExecutionResult.class);
179179
return testResult.getThrowable().orElseThrow();
180180
}

platform-tests/src/test/java/org/junit/platform/commons/support/conversion/FallbackStringToObjectConverterTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ void cannotConvertStringToMagazine() {
100100

101101
private static Constructor<?> constructor(Class<?> clazz) {
102102
return ReflectionUtils.findConstructors(clazz,
103-
ctr -> ctr.getParameterCount() == 1 && ctr.getParameterTypes()[0] == String.class).get(0);
103+
ctr -> ctr.getParameterCount() == 1 && ctr.getParameterTypes()[0] == String.class).getFirst();
104104
}
105105

106106
private static Method bookMethod(String methodName) {

platform-tests/src/test/java/org/junit/platform/commons/support/scanning/CloseablePathTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ void createsAndClosesJarFileSystemOnceWhenCalledConcurrently() throws Exception
101101
assertDoesNotThrow(() -> FileSystems.getFileSystem(jarUri), "FileSystem should still be open");
102102

103103
// Close last remaining path
104-
paths.get(0).close();
104+
paths.getFirst().close();
105105
assertThrows(FileSystemNotFoundException.class, () -> FileSystems.getFileSystem(jarUri),
106106
"FileSystem should have been closed");
107107
}

platform-tests/src/test/java/org/junit/platform/commons/support/scanning/DefaultClasspathScannerTests.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ void scanForResourcesInDefaultPackage() {
415415
void scanForClassesInPackageWithFilter() {
416416
var thisClassOnly = ClassFilter.of(clazz -> clazz == DefaultClasspathScannerTests.class);
417417
var classes = classpathScanner.scanForClassesInPackage("org.junit.platform.commons", thisClassOnly);
418-
assertSame(DefaultClasspathScannerTests.class, classes.get(0));
418+
assertSame(DefaultClasspathScannerTests.class, classes.getFirst());
419419
}
420420

421421
@Test
@@ -432,7 +432,7 @@ void resourcesCanBeRead() throws IOException {
432432
Predicate<Resource> thisResourceOnly = resource -> "org/junit/platform/commons/example.resource".equals(
433433
resource.getName());
434434
var resources = classpathScanner.scanForResourcesInPackage("org.junit.platform.commons", thisResourceOnly);
435-
Resource resource = resources.get(0);
435+
Resource resource = resources.getFirst();
436436

437437
assertThat(resource.getName()).isEqualTo("org/junit/platform/commons/example.resource");
438438
assertThat(resource.getUri()).isEqualTo(uriOf("/org/junit/platform/commons/example.resource"));
@@ -501,7 +501,7 @@ void findAllClassesInClasspathRoot() throws Exception {
501501
var thisClassOnly = ClassFilter.of(clazz -> clazz == DefaultClasspathScannerTests.class);
502502
var root = getTestClasspathRoot();
503503
var classes = classpathScanner.scanForClassesInClasspathRoot(root, thisClassOnly);
504-
assertSame(DefaultClasspathScannerTests.class, classes.get(0));
504+
assertSame(DefaultClasspathScannerTests.class, classes.getFirst());
505505
}
506506

507507
@Test
@@ -510,7 +510,7 @@ void findAllClassesInDefaultPackageInClasspathRoot() throws Exception {
510510
var classes = classpathScanner.scanForClassesInClasspathRoot(getTestClasspathRoot(), classFilter);
511511

512512
assertEquals(1, classes.size(), "number of classes found in default package");
513-
var testClass = classes.get(0);
513+
var testClass = classes.getFirst();
514514
assertTrue(inDefaultPackage(testClass));
515515
assertEquals("DefaultPackageTestCase", testClass.getName());
516516
}

platform-tests/src/test/java/org/junit/platform/commons/util/AnnotationUtilsTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ void findAnnotatedMethodsForAnnotationUsedInClassAndSuperclassHierarchyDown() th
383383
var methods = findAnnotatedMethods(ClassWithAnnotatedMethods.class, Annotation1.class, TOP_DOWN);
384384

385385
assertEquals(3, methods.size());
386-
assertEquals(superMethod, methods.get(0));
386+
assertEquals(superMethod, methods.getFirst());
387387
assertThat(methods.subList(1, 3)).containsOnly(method1, method3);
388388
}
389389

@@ -475,7 +475,7 @@ void findAnnotatedFieldsForAnnotationUsedInClassAndSuperclassHierarchyDown() thr
475475
var fields = findAnnotatedFields(ClassWithAnnotatedFields.class, Annotation1.class, isStringField, TOP_DOWN);
476476

477477
assertEquals(3, fields.size());
478-
assertEquals(superField, fields.get(0));
478+
assertEquals(superField, fields.getFirst());
479479
assertThat(fields.subList(1, 3)).containsOnly(field1, field3);
480480
}
481481

platform-tests/src/test/java/org/junit/platform/commons/util/ReflectionUtilsTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1569,7 +1569,7 @@ void findMethodsWithShadowingUsingHierarchyDownMode() throws Exception {
15691569

15701570
var methods = findMethods(MethodShadowingChild.class, method -> true, TOP_DOWN);
15711571
assertEquals(6, methods.size());
1572-
assertEquals(MethodShadowingInterface.class.getMethod("method2", int.class, int.class), methods.get(0));
1572+
assertEquals(MethodShadowingInterface.class.getMethod("method2", int.class, int.class), methods.getFirst());
15731573
assertThat(methods.subList(1, 3)).containsOnly(
15741574
MethodShadowingParent.class.getMethod("method2", int.class, int.class, int.class),
15751575
MethodShadowingParent.class.getMethod("method5", String.class));
@@ -1704,7 +1704,7 @@ void findMethodsWithStaticHidingUsingHierarchyDownModeInLegacyMode() throws Exce
17041704

17051705
var methods = findMethods(child, method -> true, TOP_DOWN);
17061706
assertEquals(6, methods.size());
1707-
assertEquals(ifcMethod2, methods.get(0));
1707+
assertEquals(ifcMethod2, methods.getFirst());
17081708
assertThat(methods.subList(1, 3)).containsOnly(parentMethod2, parentMethod5);
17091709
assertThat(methods.subList(3, 6)).containsOnly(childMethod1, childMethod4, childMethod5);
17101710
}

platform-tests/src/test/java/org/junit/platform/console/tasks/DiscoveryRequestCreatorTests.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ void convertsDefaultIncludeClassNamePatternOption() {
116116

117117
var filters = request.getFiltersByType(ClassNameFilter.class);
118118
assertThat(filters).hasSize(1);
119-
assertExcludes(filters.get(0), STANDARD_INCLUDE_PATTERN);
119+
assertExcludes(filters.getFirst(), STANDARD_INCLUDE_PATTERN);
120120
}
121121

122122
@Test
@@ -128,8 +128,8 @@ void convertsExplicitIncludeClassNamePatternOption() {
128128

129129
var filters = request.getFiltersByType(ClassNameFilter.class);
130130
assertThat(filters).hasSize(1);
131-
assertIncludes(filters.get(0), "Foo.*Bar");
132-
assertIncludes(filters.get(0), "Bar.*Foo");
131+
assertIncludes(filters.getFirst(), "Foo.*Bar");
132+
assertIncludes(filters.getFirst(), "Bar.*Foo");
133133
}
134134

135135
@Test
@@ -143,10 +143,10 @@ void includeSelectedClassesAndMethodsRegardlessOfClassNamePatterns() {
143143

144144
var filters = request.getFiltersByType(ClassNameFilter.class);
145145
assertThat(filters).hasSize(1);
146-
assertIncludes(filters.get(0), "SomeTest");
147-
assertIncludes(filters.get(0), "com.acme.Foo");
148-
assertIncludes(filters.get(0), "com.acme.Bar");
149-
assertIncludes(filters.get(0), "Foo.*Bar");
146+
assertIncludes(filters.getFirst(), "SomeTest");
147+
assertIncludes(filters.getFirst(), "com.acme.Foo");
148+
assertIncludes(filters.getFirst(), "com.acme.Bar");
149+
assertIncludes(filters.getFirst(), "Foo.*Bar");
150150
}
151151

152152
@Test
@@ -172,7 +172,7 @@ void convertsPackageOptions() {
172172
var packageNameFilters = request.getFiltersByType(PackageNameFilter.class);
173173

174174
assertThat(packageNameFilters).hasSize(2);
175-
assertIncludes(packageNameFilters.get(0), "org.junit.included1");
175+
assertIncludes(packageNameFilters.getFirst(), "org.junit.included1");
176176
assertIncludes(packageNameFilters.get(0), "org.junit.included2");
177177
assertIncludes(packageNameFilters.get(0), "org.junit.included3");
178178
assertExcludes(packageNameFilters.get(1), "org.junit.excluded1");
@@ -279,7 +279,7 @@ void propagatesMethodSelectors() {
279279
var methodSelectors = request.getSelectorsByType(MethodSelector.class);
280280

281281
assertThat(methodSelectors).hasSize(2);
282-
assertThat(methodSelectors.get(0).getClassName()).isEqualTo("com.acme.Foo");
282+
assertThat(methodSelectors.getFirst().getClassName()).isEqualTo("com.acme.Foo");
283283
assertThat(methodSelectors.get(0).getMethodName()).isEqualTo("m");
284284
assertThat(methodSelectors.get(0).getParameterTypeNames()).isEmpty();
285285
assertThat(methodSelectors.get(1).getClassName()).isEqualTo("com.example.Bar");

platform-tests/src/test/java/org/junit/platform/engine/UniqueIdFormatTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ default void parseMalformedUid() {
121121
@Test
122122
default void parseEngineUid() {
123123
var parsedId = getFormat().parse(getEngineUid());
124-
assertSegment(parsedId.getSegments().get(0), "engine", "junit-jupiter");
124+
assertSegment(parsedId.getSegments().getFirst(), "engine", "junit-jupiter");
125125
assertEquals(getEngineUid(), getFormat().format(parsedId));
126126
assertEquals(getEngineUid(), parsedId.toString());
127127
}

platform-tests/src/test/java/org/junit/platform/engine/UniqueIdTests.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ void uniqueIdCanBeCreatedFromEngineId() {
4646
var uniqueId = UniqueId.forEngine(ENGINE_ID);
4747

4848
assertEquals("[engine:junit-jupiter]", uniqueId.toString());
49-
assertSegment(uniqueId.getSegments().get(0), "engine", "junit-jupiter");
49+
assertSegment(uniqueId.getSegments().getFirst(), "engine", "junit-jupiter");
5050
}
5151

5252
@Test
@@ -70,7 +70,7 @@ void uniqueIdCanBeCreatedFromTypeAndValue() {
7070
var uniqueId = UniqueId.root("aType", "aValue");
7171

7272
assertEquals("[aType:aValue]", uniqueId.toString());
73-
assertSegment(uniqueId.getSegments().get(0), "aType", "aValue");
73+
assertSegment(uniqueId.getSegments().getFirst(), "aType", "aValue");
7474
}
7575

7676
@Test
@@ -96,7 +96,7 @@ void appendingSegmentLeavesOriginalUnchanged() {
9696
uniqueId.append("class", "org.junit.MyClass");
9797

9898
assertThat(uniqueId.getSegments()).hasSize(1);
99-
assertSegment(uniqueId.getSegments().get(0), "engine", ENGINE_ID);
99+
assertSegment(uniqueId.getSegments().getFirst(), "engine", ENGINE_ID);
100100
}
101101

102102
@Test
@@ -153,7 +153,7 @@ void ensureDefaultUniqueIdFormatIsUsedForFormatting() {
153153

154154
@Test
155155
void ensureDefaultUniqueIdFormatDecodingEncodesSegmentParts() {
156-
var segment = UniqueId.parse("[%5B+%25+%5D):(%3A+%2B+%2F]").getSegments().get(0);
156+
var segment = UniqueId.parse("[%5B+%25+%5D):(%3A+%2B+%2F]").getSegments().getFirst();
157157
assertEquals("[ % ])", segment.getType());
158158
assertEquals("(: + /", segment.getValue());
159159
}
@@ -163,7 +163,7 @@ void ensureDefaultUniqueIdFormatCanHandleAllCharacters() {
163163
for (char c = 0; c < Character.MAX_VALUE; c++) {
164164
var value = "foo " + c + " bar";
165165
var uniqueId = UniqueId.parse(UniqueId.root("type", value).toString());
166-
var segment = uniqueId.getSegments().get(0);
166+
var segment = uniqueId.getSegments().getFirst();
167167
assertEquals(value, segment.getValue());
168168
}
169169
}

0 commit comments

Comments
 (0)