@@ -79,6 +79,61 @@ void removeRedundantMavenDependency() {
7979 );
8080 }
8181
82+ @ Test
83+ void removeRedundantMavenDependencyInTestScope () {
84+ rewriteRun (
85+ spec -> spec .recipe (new RemoveRedundantDependencies (
86+ "org.junit.jupiter" , "junit-jupiter-engine" )),
87+ mavenProject ("my-app" ,
88+ //language=xml
89+ pomXml (
90+ """
91+ <project>
92+ <modelVersion>4.0.0</modelVersion>
93+
94+ <groupId>com.mycompany.app</groupId>
95+ <artifactId>my-app</artifactId>
96+ <version>1</version>
97+
98+ <dependencies>
99+ <dependency>
100+ <groupId>org.junit.jupiter</groupId>
101+ <artifactId>junit-jupiter-engine</artifactId>
102+ <version>6.0.1</version>
103+ <scope>test</scope>
104+ </dependency>
105+ <dependency>
106+ <groupId>org.junit.jupiter</groupId>
107+ <artifactId>junit-jupiter-api</artifactId>
108+ <version>6.0.1</version>
109+ <scope>test</scope>
110+ </dependency>
111+ </dependencies>
112+ </project>
113+ """ ,
114+ """
115+ <project>
116+ <modelVersion>4.0.0</modelVersion>
117+
118+ <groupId>com.mycompany.app</groupId>
119+ <artifactId>my-app</artifactId>
120+ <version>1</version>
121+
122+ <dependencies>
123+ <dependency>
124+ <groupId>org.junit.jupiter</groupId>
125+ <artifactId>junit-jupiter-engine</artifactId>
126+ <version>6.0.1</version>
127+ <scope>test</scope>
128+ </dependency>
129+ </dependencies>
130+ </project>
131+ """
132+ )
133+ )
134+ );
135+ }
136+
82137 @ Test
83138 void removeMultipleRedundantDependencies () {
84139 rewriteRun (
@@ -171,6 +226,47 @@ void doNotRemoveWhenVersionsDiffer() {
171226 );
172227 }
173228
229+ @ Test
230+ void doNoRemoveWhenExcluded () {
231+ rewriteRun (
232+ spec -> spec .recipe (new RemoveRedundantDependencies (
233+ "com.fasterxml.jackson.core" , "jackson-databind" )),
234+ mavenProject ("my-app" ,
235+ //language=xml
236+ pomXml (
237+ """
238+ <project>
239+ <modelVersion>4.0.0</modelVersion>
240+
241+ <groupId>com.mycompany.app</groupId>
242+ <artifactId>my-app</artifactId>
243+ <version>1</version>
244+
245+ <dependencies>
246+ <dependency>
247+ <groupId>com.fasterxml.jackson.core</groupId>
248+ <artifactId>jackson-databind</artifactId>
249+ <version>2.17.0</version>
250+ <exclusions>
251+ <exclusion>
252+ <groupId>com.fasterxml.jackson.core</groupId>
253+ <artifactId>jackson-core</artifactId>
254+ </exclusion>
255+ </exclusions>
256+ </dependency>
257+ <dependency>
258+ <groupId>com.fasterxml.jackson.core</groupId>
259+ <artifactId>jackson-core</artifactId>
260+ <version>2.17.0</version>
261+ </dependency>
262+ </dependencies>
263+ </project>
264+ """
265+ )
266+ )
267+ );
268+ }
269+
174270 @ Test
175271 void doNotRemoveDirectDependencyItself () {
176272 rewriteRun (
0 commit comments