From 9e0c44aa2d079cc95fcd50eb8f1d8b28e4e7d37a Mon Sep 17 00:00:00 2001 From: nikunjagarwal321 Date: Sun, 29 Dec 2024 17:32:27 -0600 Subject: [PATCH 1/2] test: Fixed 2 nondeterministic flaky tests by sorting collections to make them deterministic --- src/test/java/spoon/test/imports/ImportTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/spoon/test/imports/ImportTest.java b/src/test/java/spoon/test/imports/ImportTest.java index bdb66eec107..4f2d0233bea 100644 --- a/src/test/java/spoon/test/imports/ImportTest.java +++ b/src/test/java/spoon/test/imports/ImportTest.java @@ -89,6 +89,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -1878,7 +1879,7 @@ void staticImports_ofNestedTypes_shouldBeRecorded(CtModel model) { // assert List imports = mainType.getPosition().getCompilationUnit().getImports(); assertThat(imports, hasSize(2)); - + imports.sort(Comparator.comparing(importElement -> importElement.getReference().getSimpleName())); CtImport import0 = imports.get(0); assertThat(import0.getReference().getSimpleName(), is("InnerClass")); } @@ -1894,7 +1895,7 @@ void staticTypeAndMethodImport_importShouldAppearOnlyOnceIfTheirSimpleNamesAreEq // assert List imports = mainType.getPosition().getCompilationUnit().getImports(); assertThat(imports, hasSize(2)); - + imports.sort(Comparator.comparing(importElement -> importElement.getReference().getSimpleName())); CtImport import0 = imports.get(0); assertThat(import0.getImportKind(), is(CtImportKind.METHOD)); assertThat(import0.getReference().getSimpleName(), is("foo")); From 9a8524f4ea63bdca1a3b019884f837f9b77369b4 Mon Sep 17 00:00:00 2001 From: nikunjagarwal321 Date: Sun, 29 Dec 2024 17:43:55 -0600 Subject: [PATCH 2/2] test: Fixed 1 nondeterministic flaky test in PositionTest by sorting collections to make them deterministic --- src/test/java/spoon/test/position/PositionTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/java/spoon/test/position/PositionTest.java b/src/test/java/spoon/test/position/PositionTest.java index 6a8e108d801..0186de90aff 100644 --- a/src/test/java/spoon/test/position/PositionTest.java +++ b/src/test/java/spoon/test/position/PositionTest.java @@ -19,6 +19,7 @@ import java.io.File; import java.io.IOException; +import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -806,6 +807,8 @@ public void testPositionOfCtImport() throws Exception { AnnonymousClassNewIface.class); String originSources = foo.getPosition().getCompilationUnit().getOriginalSourceCode(); List imports = foo.getPosition().getCompilationUnit().getImports(); + // Sorting using position of import element so that they are sorted in the order they are imported + imports.sort(Comparator.comparing(importElement -> importElement.getPosition().getSourceStart())); assertEquals(2, imports.size()); Iterator iter = imports.iterator(); {