From 0b9c52bd0fdf69c357ffb8c86414ec8ea9e06763 Mon Sep 17 00:00:00 2001 From: xeounxzxu Date: Sat, 26 Oct 2024 11:12:52 +0900 Subject: [PATCH] Add `isNonDefaultExitStatus` in test --- .../batch/core/ExitStatusTests.java | 46 +++++++++++++++++-- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/ExitStatusTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/ExitStatusTests.java index 3a450aa993..489d6cb79f 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/ExitStatusTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/ExitStatusTests.java @@ -15,14 +15,16 @@ */ package org.springframework.batch.core; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertNotSame; -import static org.junit.jupiter.api.Assertions.assertTrue; - import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import org.springframework.util.SerializationUtils; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.*; + /** * @author Dave Syer * @author Mahmoud Ben Hassine @@ -186,4 +188,38 @@ void testSerializable() { assertEquals(status.getExitCode(), clone.getExitCode()); } + @ParameterizedTest + @MethodSource("provideKnownExitStatuses") + public void testIsNonDefaultExitStatusShouldReturnTrue(ExitStatus status) { + boolean result = ExitStatus.isNonDefaultExitStatus(status); + assertTrue(result); + } + + @ParameterizedTest + @MethodSource("provideCustomExitStatuses") + public void testIsNonDefaultExitStatusShouldReturnFalse(ExitStatus status) { + boolean result = ExitStatus.isNonDefaultExitStatus(status); + assertFalse(result); + } + + private static Stream provideKnownExitStatuses() { + return Stream.of( + Arguments.of((ExitStatus) null), + Arguments.of(new ExitStatus(null)), + Arguments.of(ExitStatus.COMPLETED), + Arguments.of(ExitStatus.EXECUTING), + Arguments.of(ExitStatus.FAILED), + Arguments.of(ExitStatus.NOOP), + Arguments.of(ExitStatus.STOPPED), + Arguments.of(ExitStatus.UNKNOWN) + ); + } + + private static Stream provideCustomExitStatuses() { + return Stream.of( + Arguments.of(new ExitStatus("CUSTOM")), + Arguments.of(new ExitStatus("SUCCESS")), + Arguments.of(new ExitStatus("DONE")) + ); + } }