[BAEL-3646] Conditional Flow in Spring Batch

This commit is contained in:
mike b
2020-03-15 14:14:46 -04:00
parent 17b61f3cff
commit 5254865821
13 changed files with 380 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package org.baeldung.conditionalflow.model;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.jupiter.api.Assertions.*;
@RunWith(SpringJUnit4ClassRunner.class)
class NumberInfoUnitTest {
@Test
void isPositive() {
assertTrue(NumberInfo.from(1).isPositive());
assertTrue(NumberInfo.from(11).isPositive());
assertFalse(NumberInfo.from(0).isPositive());
assertFalse(NumberInfo.from(-1).isPositive());
assertFalse(NumberInfo.from(-10).isPositive());
}
@Test
void isEven() {
assertTrue(NumberInfo.from(0).isEven());
assertTrue(NumberInfo.from(-2).isEven());
assertTrue(NumberInfo.from(2).isEven());
assertTrue(NumberInfo.from(-22).isEven());
assertTrue(NumberInfo.from(22).isEven());
assertFalse(NumberInfo.from(1).isEven());
assertFalse(NumberInfo.from(-1).isEven());
assertFalse(NumberInfo.from(13).isEven());
assertFalse(NumberInfo.from(-13).isEven());
assertFalse(NumberInfo.from(31).isEven());
assertFalse(NumberInfo.from(-51).isEven());
}
@Test
void getNumber() {
for(int i = -100 ; i < 100 ; i++){
assertEquals(i, NumberInfo.from(i).getNumber());
}
}
}

View File

@@ -0,0 +1,17 @@
package org.baeldung.conditionalflow.step;
import org.baeldung.conditionalflow.model.NumberInfo;
import org.baeldung.conditionalflow.step.NumberInfoClassifier;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class NumberInfoClassifierUnitTest {
@Test
void process() throws Exception {
NumberInfoClassifier nic = new NumberInfoClassifier();
assertEquals(Integer.valueOf(4), nic.process(NumberInfo.from(4)));
assertEquals(Integer.valueOf(-4), nic.process(NumberInfo.from(-4)));
}
}

View File

@@ -0,0 +1,20 @@
package org.baeldung.conditionalflow.step;
import org.baeldung.conditionalflow.model.NumberInfo;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
public class NumberInfoGeneratorUnitTest {
@Test
public void testGenerateNumbers() {
int[] numbers = new int[]{1, -2, 4, -10};
NumberInfoGenerator numberGenerator = new NumberInfoGenerator(numbers);
assertEquals(new NumberInfo(numbers[0]), numberGenerator.read());
assertEquals(new NumberInfo(numbers[1]), numberGenerator.read());
assertEquals(new NumberInfo(numbers[2]), numberGenerator.read());
assertEquals(new NumberInfo(numbers[3]), numberGenerator.read());
assertNull(numberGenerator.read());
}
}