Build optimization 1.08.2017 (#2351)
* Refactor Spring-activiti module * Refactor vavr module
This commit is contained in:
parent
0c60af8437
commit
ed92182fbf
2
pom.xml
2
pom.xml
|
@ -28,7 +28,6 @@
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>spring-activiti</module>
|
|
||||||
<module>aws</module>
|
<module>aws</module>
|
||||||
<module>akka-streams</module>
|
<module>akka-streams</module>
|
||||||
<module>algorithms</module>
|
<module>algorithms</module>
|
||||||
|
@ -129,6 +128,7 @@
|
||||||
<module>spark-java</module>
|
<module>spark-java</module>
|
||||||
<!-- <module>spring-5</module>-->
|
<!-- <module>spring-5</module>-->
|
||||||
<module>spring-5-mvc</module>
|
<module>spring-5-mvc</module>
|
||||||
|
<module>spring-activiti</module>
|
||||||
<module>spring-akka</module>
|
<module>spring-akka</module>
|
||||||
<module>spring-amqp</module>
|
<module>spring-amqp</module>
|
||||||
<module>spring-all</module>
|
<module>spring-all</module>
|
||||||
|
|
|
@ -53,6 +53,23 @@
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<version>${maven-surefire-plugin.version}</version>
|
||||||
|
<configuration>
|
||||||
|
<forkCount>3</forkCount>
|
||||||
|
<reuseForks>true</reuseForks>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*IntegrationTest.java</exclude>
|
||||||
|
<exclude>**/*LongRunningUnitTest.java</exclude>
|
||||||
|
<exclude>**/*ManualTest.java</exclude>
|
||||||
|
<exclude>**/JdbcTest.java</exclude>
|
||||||
|
<exclude>**/*LiveTest.java</exclude>
|
||||||
|
</excludes>
|
||||||
|
<testFailureIgnore>true</testFailureIgnore>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
package com.example.activitiwithspring;
|
package com.example.activitiwithspring;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.TaskService;
|
import org.activiti.engine.TaskService;
|
||||||
import org.activiti.engine.task.Task;
|
import org.activiti.engine.task.Task;
|
||||||
|
@ -12,12 +8,15 @@ import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class ActivitiController {
|
public class ActivitiController {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ActivitiController.class);
|
private static final Logger logger = LoggerFactory.getLogger(ActivitiController.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RuntimeService runtimeService;
|
private RuntimeService runtimeService;
|
||||||
|
|
||||||
|
@ -28,32 +27,30 @@ public class ActivitiController {
|
||||||
public String startProcess() {
|
public String startProcess() {
|
||||||
runtimeService.startProcessInstanceByKey("my-process");
|
runtimeService.startProcessInstanceByKey("my-process");
|
||||||
return "Process started. Number of currently running process instances = " + runtimeService.createProcessInstanceQuery()
|
return "Process started. Number of currently running process instances = " + runtimeService.createProcessInstanceQuery()
|
||||||
.count();
|
.count();
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/get-tasks/{processInstanceId}")
|
@GetMapping("/get-tasks/{processInstanceId}")
|
||||||
public List<TaskRepresentation> getTasks(@PathVariable String processInstanceId) {
|
public List<TaskRepresentation> getTasks(@PathVariable String processInstanceId) {
|
||||||
List<Task> usertasks = taskService.createTaskQuery()
|
List<Task> usertasks = taskService.createTaskQuery()
|
||||||
.processInstanceId(processInstanceId)
|
.processInstanceId(processInstanceId)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
List<TaskRepresentation> tasks = usertasks.stream().map(task -> {
|
return usertasks.stream()
|
||||||
TaskRepresentation taskRepresentation = new TaskRepresentation(task.getId(), task.getName(), task.getProcessInstanceId());
|
.map(task -> new TaskRepresentation(task.getId(), task.getName(), task.getProcessInstanceId()))
|
||||||
return taskRepresentation;
|
.collect(Collectors.toList());
|
||||||
}).collect(Collectors.toList());
|
|
||||||
return tasks;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/complete-task-A/{processInstanceId}")
|
@GetMapping("/complete-task-A/{processInstanceId}")
|
||||||
public TaskRepresentation completeTaskA(@PathVariable String processInstanceId) {
|
public TaskRepresentation completeTaskA(@PathVariable String processInstanceId) {
|
||||||
Task task = taskService.createTaskQuery()
|
Task task = taskService.createTaskQuery()
|
||||||
.processInstanceId(processInstanceId)
|
.processInstanceId(processInstanceId)
|
||||||
.singleResult();
|
.singleResult();
|
||||||
taskService.complete(task.getId());
|
taskService.complete(task.getId());
|
||||||
logger.info("Task completed");
|
logger.info("Task completed");
|
||||||
task = taskService.createTaskQuery()
|
task = taskService.createTaskQuery()
|
||||||
.processInstanceId(processInstanceId)
|
.processInstanceId(processInstanceId)
|
||||||
.singleResult();
|
.singleResult();
|
||||||
|
|
||||||
return new TaskRepresentation(task.getId(), task.getName(), task.getProcessInstanceId());
|
return new TaskRepresentation(task.getId(), task.getName(), task.getProcessInstanceId());
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class ActivitiWithSpringApplication {
|
public class ActivitiWithSpringApplication {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(ActivitiWithSpringApplication.class, args);
|
SpringApplication.run(ActivitiWithSpringApplication.class, args);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
package com.example.activitiwithspring;
|
package com.example.activitiwithspring;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.runtime.ProcessInstance;
|
import org.activiti.engine.runtime.ProcessInstance;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -21,13 +17,16 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
import org.springframework.web.context.WebApplicationContext;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
@RunWith(SpringJUnit4ClassRunner.class)
|
||||||
@WebAppConfiguration
|
@WebAppConfiguration
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
public class ActivitiControllerTest {
|
public class ActivitiControllerIntegrationTest {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ActivitiControllerTest.class);
|
private static final Logger logger = LoggerFactory.getLogger(ActivitiControllerIntegrationTest.class);
|
||||||
private MockMvc mockMvc;
|
private MockMvc mockMvc;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -39,10 +38,10 @@ public class ActivitiControllerTest {
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac)
|
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
for (ProcessInstance instance : runtimeService.createProcessInstanceQuery()
|
for (ProcessInstance instance : runtimeService.createProcessInstanceQuery()
|
||||||
.list()) {
|
.list()) {
|
||||||
runtimeService.deleteProcessInstance(instance.getId(), "Reset Processes");
|
runtimeService.deleteProcessInstance(instance.getId(), "Reset Processes");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,21 +50,21 @@ public class ActivitiControllerTest {
|
||||||
public void givenProcess_whenStartProcess_thenIncreaseInProcessInstanceCount() throws Exception {
|
public void givenProcess_whenStartProcess_thenIncreaseInProcessInstanceCount() throws Exception {
|
||||||
|
|
||||||
String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
||||||
.andReturn()
|
.andReturn()
|
||||||
.getResponse()
|
.getResponse()
|
||||||
.getContentAsString();
|
.getContentAsString();
|
||||||
assertEquals("Process started. Number of currently running process instances = 1", responseBody);
|
assertEquals("Process started. Number of currently running process instances = 1", responseBody);
|
||||||
|
|
||||||
responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
||||||
.andReturn()
|
.andReturn()
|
||||||
.getResponse()
|
.getResponse()
|
||||||
.getContentAsString();
|
.getContentAsString();
|
||||||
assertEquals("Process started. Number of currently running process instances = 2", responseBody);
|
assertEquals("Process started. Number of currently running process instances = 2", responseBody);
|
||||||
|
|
||||||
responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
||||||
.andReturn()
|
.andReturn()
|
||||||
.getResponse()
|
.getResponse()
|
||||||
.getContentAsString();
|
.getContentAsString();
|
||||||
assertEquals("Process started. Number of currently running process instances = 3", responseBody);
|
assertEquals("Process started. Number of currently running process instances = 3", responseBody);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,19 +72,19 @@ public class ActivitiControllerTest {
|
||||||
public void givenProcess_whenProcessInstance_thenReceivedRunningTask() throws Exception {
|
public void givenProcess_whenProcessInstance_thenReceivedRunningTask() throws Exception {
|
||||||
|
|
||||||
this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
||||||
.andReturn()
|
.andReturn()
|
||||||
.getResponse();
|
.getResponse();
|
||||||
ProcessInstance pi = runtimeService.createProcessInstanceQuery()
|
ProcessInstance pi = runtimeService.createProcessInstanceQuery()
|
||||||
.orderByProcessInstanceId()
|
.orderByProcessInstanceId()
|
||||||
.desc()
|
.desc()
|
||||||
.list()
|
.list()
|
||||||
.get(0);
|
.get(0);
|
||||||
|
|
||||||
logger.info("process instance = " + pi.getId());
|
logger.info("process instance = " + pi.getId());
|
||||||
String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/get-tasks/" + pi.getId()))
|
String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/get-tasks/" + pi.getId()))
|
||||||
.andReturn()
|
.andReturn()
|
||||||
.getResponse()
|
.getResponse()
|
||||||
.getContentAsString();
|
.getContentAsString();
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
List<TaskRepresentation> tasks = Arrays.asList(mapper.readValue(responseBody, TaskRepresentation[].class));
|
List<TaskRepresentation> tasks = Arrays.asList(mapper.readValue(responseBody, TaskRepresentation[].class));
|
||||||
|
@ -98,19 +97,19 @@ public class ActivitiControllerTest {
|
||||||
public void givenProcess_whenCompleteTaskA_thenReceivedNextTask() throws Exception {
|
public void givenProcess_whenCompleteTaskA_thenReceivedNextTask() throws Exception {
|
||||||
|
|
||||||
this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
this.mockMvc.perform(MockMvcRequestBuilders.get("/start-process"))
|
||||||
.andReturn()
|
.andReturn()
|
||||||
.getResponse();
|
.getResponse();
|
||||||
ProcessInstance pi = runtimeService.createProcessInstanceQuery()
|
ProcessInstance pi = runtimeService.createProcessInstanceQuery()
|
||||||
.orderByProcessInstanceId()
|
.orderByProcessInstanceId()
|
||||||
.desc()
|
.desc()
|
||||||
.list()
|
.list()
|
||||||
.get(0);
|
.get(0);
|
||||||
|
|
||||||
logger.info("process instance = " + pi.getId());
|
logger.info("process instance = " + pi.getId());
|
||||||
String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/complete-task-A/" + pi.getId()))
|
String responseBody = this.mockMvc.perform(MockMvcRequestBuilders.get("/complete-task-A/" + pi.getId()))
|
||||||
.andReturn()
|
.andReturn()
|
||||||
.getResponse()
|
.getResponse()
|
||||||
.getContentAsString();
|
.getContentAsString();
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
TaskRepresentation task = mapper.readValue(responseBody, TaskRepresentation.class);
|
TaskRepresentation task = mapper.readValue(responseBody, TaskRepresentation.class);
|
|
@ -7,7 +7,7 @@ import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
public class ActivitiWithSpringApplicationTests {
|
public class ActivitiWithSpringApplicationIntegrationTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void contextLoads() {
|
public void contextLoads() {
|
22
vavr/pom.xml
22
vavr/pom.xml
|
@ -71,4 +71,26 @@
|
||||||
<junit.version>4.12</junit.version>
|
<junit.version>4.12</junit.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<version>${maven-surefire-plugin.version}</version>
|
||||||
|
<configuration>
|
||||||
|
<forkCount>3</forkCount>
|
||||||
|
<reuseForks>true</reuseForks>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*IntegrationTest.java</exclude>
|
||||||
|
<exclude>**/*LongRunningUnitTest.java</exclude>
|
||||||
|
<exclude>**/*ManualTest.java</exclude>
|
||||||
|
<exclude>**/JdbcTest.java</exclude>
|
||||||
|
<exclude>**/*LiveTest.java</exclude>
|
||||||
|
</excludes>
|
||||||
|
<testFailureIgnore>true</testFailureIgnore>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
</project>
|
</project>
|
|
@ -1,18 +1,24 @@
|
||||||
package com.baeldung.vavr;
|
package com.baeldung.vavr;
|
||||||
|
|
||||||
|
import io.vavr.MatchError;
|
||||||
|
import io.vavr.control.Option;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
import static io.vavr.API.$;
|
import static io.vavr.API.$;
|
||||||
import static io.vavr.API.Case;
|
import static io.vavr.API.Case;
|
||||||
import static io.vavr.API.Match;
|
import static io.vavr.API.Match;
|
||||||
import static io.vavr.API.run;
|
import static io.vavr.API.run;
|
||||||
import static io.vavr.Predicates.*;
|
import static io.vavr.Predicates.allOf;
|
||||||
|
import static io.vavr.Predicates.anyOf;
|
||||||
|
import static io.vavr.Predicates.instanceOf;
|
||||||
|
import static io.vavr.Predicates.is;
|
||||||
|
import static io.vavr.Predicates.isIn;
|
||||||
|
import static io.vavr.Predicates.isNotNull;
|
||||||
|
import static io.vavr.Predicates.isNull;
|
||||||
|
import static io.vavr.Predicates.noneOf;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import io.vavr.MatchError;
|
|
||||||
import io.vavr.control.Option;
|
|
||||||
|
|
||||||
public class PatternMatchingUnitTest {
|
public class PatternMatchingUnitTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenMatchesDefault_thenCorrect() {
|
public void whenMatchesDefault_thenCorrect() {
|
||||||
|
|
|
@ -9,7 +9,9 @@ import org.junit.Test;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
import static io.vavr.API.*;
|
import static io.vavr.API.$;
|
||||||
|
import static io.vavr.API.Case;
|
||||||
|
import static io.vavr.API.Match;
|
||||||
|
|
||||||
public class PropertyBasedLongRunningUnitTest {
|
public class PropertyBasedLongRunningUnitTest {
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,9 @@ import io.vavr.Function1;
|
||||||
import io.vavr.Function2;
|
import io.vavr.Function2;
|
||||||
import io.vavr.Function5;
|
import io.vavr.Function5;
|
||||||
import io.vavr.Lazy;
|
import io.vavr.Lazy;
|
||||||
import io.vavr.*;
|
import io.vavr.Tuple;
|
||||||
|
import io.vavr.Tuple2;
|
||||||
|
import io.vavr.Tuple3;
|
||||||
import io.vavr.collection.List;
|
import io.vavr.collection.List;
|
||||||
import io.vavr.collection.Seq;
|
import io.vavr.collection.Seq;
|
||||||
import io.vavr.control.Option;
|
import io.vavr.control.Option;
|
||||||
|
@ -13,23 +15,25 @@ import io.vavr.control.Try;
|
||||||
import io.vavr.control.Validation;
|
import io.vavr.control.Validation;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.baeldung.vavr.Person;
|
|
||||||
import com.baeldung.vavr.PersonValidator;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.IntStream;
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
import static io.vavr.API.*;
|
import static io.vavr.API.$;
|
||||||
import static org.junit.Assert.*;
|
import static io.vavr.API.Case;
|
||||||
|
import static io.vavr.API.Match;
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
public class VavrUnitTest {
|
public class VavrUnitTest {
|
||||||
@Test
|
@Test
|
||||||
public void givenList_whenSorts_thenCorrect() {
|
public void givenList_whenSorts_thenCorrect() {
|
||||||
List<Integer> sortedList = List.of(3, 2, 1)
|
List<Integer> sortedList = List.of(3, 2, 1)
|
||||||
.sorted();
|
.sorted();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -123,7 +127,7 @@ public class VavrUnitTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenCreatesFunction_thenCorrect0() {
|
public void whenCreatesFunction_thenCorrect0() {
|
||||||
Function0<String> getClazzName = () -> this.getClass()
|
Function0<String> getClazzName = () -> this.getClass()
|
||||||
.getName();
|
.getName();
|
||||||
String clazzName = getClazzName.apply();
|
String clazzName = getClazzName.apply();
|
||||||
assertEquals("com.baeldung.vavr.VavrUnitTest", clazzName);
|
assertEquals("com.baeldung.vavr.VavrUnitTest", clazzName);
|
||||||
}
|
}
|
||||||
|
@ -257,7 +261,7 @@ public class VavrUnitTest {
|
||||||
public void whenSumsJava8List_thenCorrect() {
|
public void whenSumsJava8List_thenCorrect() {
|
||||||
// Arrays.asList(1, 2, 3).stream().reduce((i, j) -> i + j);
|
// Arrays.asList(1, 2, 3).stream().reduce((i, j) -> i + j);
|
||||||
int sum = IntStream.of(1, 2, 3)
|
int sum = IntStream.of(1, 2, 3)
|
||||||
.sum();
|
.sum();
|
||||||
assertEquals(6, sum);
|
assertEquals(6, sum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -273,8 +277,8 @@ public class VavrUnitTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenSumsVavrList_thenCorrect() {
|
public void whenSumsVavrList_thenCorrect() {
|
||||||
int sum = List.of(1, 2, 3)
|
int sum = List.of(1, 2, 3)
|
||||||
.sum()
|
.sum()
|
||||||
.intValue();
|
.intValue();
|
||||||
assertEquals(6, sum);
|
assertEquals(6, sum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,21 +311,21 @@ public class VavrUnitTest {
|
||||||
int input = 2;
|
int input = 2;
|
||||||
String output;
|
String output;
|
||||||
switch (input) {
|
switch (input) {
|
||||||
case 0:
|
case 0:
|
||||||
output = "zero";
|
output = "zero";
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
output = "one";
|
output = "one";
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
output = "two";
|
output = "two";
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
output = "three";
|
output = "three";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
output = "unknown";
|
output = "unknown";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
assertEquals("two", output);
|
assertEquals("two", output);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,5 @@
|
||||||
package com.baeldung.vavr.collections;
|
package com.baeldung.vavr.collections;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertFalse;
|
|
||||||
import static org.junit.Assert.assertNotSame;
|
|
||||||
import static org.junit.Assert.assertSame;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.stream.IntStream;
|
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import io.vavr.Tuple;
|
import io.vavr.Tuple;
|
||||||
import io.vavr.Tuple2;
|
import io.vavr.Tuple2;
|
||||||
import io.vavr.collection.Array;
|
import io.vavr.collection.Array;
|
||||||
|
@ -28,6 +16,17 @@ import io.vavr.collection.Stream;
|
||||||
import io.vavr.collection.TreeMap;
|
import io.vavr.collection.TreeMap;
|
||||||
import io.vavr.collection.TreeSet;
|
import io.vavr.collection.TreeSet;
|
||||||
import io.vavr.collection.Vector;
|
import io.vavr.collection.Vector;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotSame;
|
||||||
|
import static org.junit.Assert.assertSame;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
public class CollectionAPIUnitTest {
|
public class CollectionAPIUnitTest {
|
||||||
|
|
||||||
|
@ -234,7 +233,7 @@ public class CollectionAPIUnitTest {
|
||||||
.toJavaMap(i -> Tuple.of(i, Integer.valueOf(i)));
|
.toJavaMap(i -> Tuple.of(i, Integer.valueOf(i)));
|
||||||
assertEquals(new Integer(2), map.get("2"));
|
assertEquals(new Integer(2), map.get("2"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenVavrList_whenCollected_thenCorrect() {
|
public void givenVavrList_whenCollected_thenCorrect() {
|
||||||
java.util.Set<Integer> javaSet = List.of(1, 2, 3)
|
java.util.Set<Integer> javaSet = List.of(1, 2, 3)
|
||||||
|
|
|
@ -7,32 +7,32 @@ import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
public class EitherUnitTest {
|
public class EitherUnitTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenMarks_whenPassNumber_thenExpectNumber() {
|
public void givenMarks_whenPassNumber_thenExpectNumber() {
|
||||||
Either<String, Integer> result = EitherDemo.computeWithEither(100);
|
Either<String, Integer> result = EitherDemo.computeWithEither(100);
|
||||||
int marks = result.right()
|
int marks = result.right()
|
||||||
.getOrElseThrow(x -> new IllegalStateException());
|
.getOrElseThrow(x -> new IllegalStateException());
|
||||||
|
|
||||||
assertEquals(100, marks);
|
assertEquals(100, marks);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenMarks_whenFailNumber_thenExpectErrorMesssage() {
|
public void givenMarks_whenFailNumber_thenExpectErrorMesssage() {
|
||||||
Either<String, Integer> result = EitherDemo.computeWithEither(50);
|
Either<String, Integer> result = EitherDemo.computeWithEither(50);
|
||||||
String error = result.left()
|
String error = result.left()
|
||||||
.getOrNull();
|
.getOrNull();
|
||||||
|
|
||||||
assertEquals("Marks not acceptable", error);
|
assertEquals("Marks not acceptable", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenPassMarks_whenModified_thenExpectNumber() {
|
public void givenPassMarks_whenModified_thenExpectNumber() {
|
||||||
Either<String, Integer> result = EitherDemo.computeWithEither(90);
|
Either<String, Integer> result = EitherDemo.computeWithEither(90);
|
||||||
int marks = result.right()
|
int marks = result.right()
|
||||||
.map(x -> x * 2)
|
.map(x -> x * 2)
|
||||||
.get();
|
.get();
|
||||||
|
|
||||||
assertEquals(180, marks);
|
assertEquals(180, marks);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,16 +3,18 @@ package com.baeldung.vavr.exception.handling;
|
||||||
import com.baeldung.vavr.exception.handling.client.ClientException;
|
import com.baeldung.vavr.exception.handling.client.ClientException;
|
||||||
import com.baeldung.vavr.exception.handling.client.HttpClient;
|
import com.baeldung.vavr.exception.handling.client.HttpClient;
|
||||||
import com.baeldung.vavr.exception.handling.client.Response;
|
import com.baeldung.vavr.exception.handling.client.Response;
|
||||||
import com.baeldung.vavr.exception.handling.VavrTry;
|
|
||||||
|
|
||||||
import io.vavr.collection.Stream;
|
import io.vavr.collection.Stream;
|
||||||
import io.vavr.control.Option;
|
import io.vavr.control.Option;
|
||||||
import io.vavr.control.Try;
|
import io.vavr.control.Try;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import static io.vavr.API.*;
|
import static io.vavr.API.$;
|
||||||
|
import static io.vavr.API.Case;
|
||||||
|
import static io.vavr.API.Match;
|
||||||
import static io.vavr.Predicates.instanceOf;
|
import static io.vavr.Predicates.instanceOf;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
public class VavrTryUnitTest {
|
public class VavrTryUnitTest {
|
||||||
|
|
||||||
|
@ -26,8 +28,8 @@ public class VavrTryUnitTest {
|
||||||
//when
|
//when
|
||||||
Try<Response> response = new VavrTry(httpClient).getResponse();
|
Try<Response> response = new VavrTry(httpClient).getResponse();
|
||||||
Integer chainedResult = response
|
Integer chainedResult = response
|
||||||
.map(this::actionThatTakesResponse)
|
.map(this::actionThatTakesResponse)
|
||||||
.getOrElse(defaultChainedResult);
|
.getOrElse(defaultChainedResult);
|
||||||
Stream<String> stream = response.toStream().map(it -> it.id);
|
Stream<String> stream = response.toStream().map(it -> it.id);
|
||||||
|
|
||||||
//then
|
//then
|
||||||
|
@ -49,8 +51,8 @@ public class VavrTryUnitTest {
|
||||||
//when
|
//when
|
||||||
Try<Response> response = new VavrTry(httpClient).getResponse();
|
Try<Response> response = new VavrTry(httpClient).getResponse();
|
||||||
Integer chainedResult = response
|
Integer chainedResult = response
|
||||||
.map(this::actionThatTakesResponse)
|
.map(this::actionThatTakesResponse)
|
||||||
.getOrElse(defaultChainedResult);
|
.getOrElse(defaultChainedResult);
|
||||||
Option<Response> optionalResponse = response.toOption();
|
Option<Response> optionalResponse = response.toOption();
|
||||||
|
|
||||||
//then
|
//then
|
||||||
|
@ -70,9 +72,9 @@ public class VavrTryUnitTest {
|
||||||
|
|
||||||
//when
|
//when
|
||||||
Try<Response> recovered = new VavrTry(httpClient).getResponse()
|
Try<Response> recovered = new VavrTry(httpClient).getResponse()
|
||||||
.recover(r -> Match(r).of(
|
.recover(r -> Match(r).of(
|
||||||
Case($(instanceOf(ClientException.class)), defaultResponse)
|
Case($(instanceOf(ClientException.class)), defaultResponse)
|
||||||
));
|
));
|
||||||
|
|
||||||
//then
|
//then
|
||||||
assertTrue(recovered.isFailure());
|
assertTrue(recovered.isFailure());
|
||||||
|
@ -92,10 +94,10 @@ public class VavrTryUnitTest {
|
||||||
|
|
||||||
//when
|
//when
|
||||||
Try<Response> recovered = new VavrTry(httpClient).getResponse()
|
Try<Response> recovered = new VavrTry(httpClient).getResponse()
|
||||||
.recover(r -> Match(r).of(
|
.recover(r -> Match(r).of(
|
||||||
Case($(instanceOf(ClientException.class)), defaultResponse),
|
Case($(instanceOf(ClientException.class)), defaultResponse),
|
||||||
Case($(instanceOf(IllegalArgumentException.class)), defaultResponse)
|
Case($(instanceOf(IllegalArgumentException.class)), defaultResponse)
|
||||||
));
|
));
|
||||||
|
|
||||||
//then
|
//then
|
||||||
assertTrue(recovered.isSuccess());
|
assertTrue(recovered.isSuccess());
|
||||||
|
@ -106,7 +108,7 @@ public class VavrTryUnitTest {
|
||||||
return response.id.hashCode();
|
return response.id.hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int actionThatTakesTryResponse(Try<Response> response, int defaultTransformation){
|
public int actionThatTakesTryResponse(Try<Response> response, int defaultTransformation) {
|
||||||
return response.transform(responses -> response.map(it -> it.id.hashCode()).getOrElse(defaultTransformation));
|
return response.transform(responses -> response.map(it -> it.id.hashCode()).getOrElse(defaultTransformation));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,18 +3,18 @@ package com.baeldung.vavr.repositories;
|
||||||
import com.baeldung.Application;
|
import com.baeldung.Application;
|
||||||
import com.baeldung.repositories.VavrUserRepository;
|
import com.baeldung.repositories.VavrUserRepository;
|
||||||
import com.baeldung.vavr.User;
|
import com.baeldung.vavr.User;
|
||||||
|
|
||||||
import io.vavr.collection.Seq;
|
import io.vavr.collection.Seq;
|
||||||
import io.vavr.control.Option;
|
import io.vavr.control.Option;
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = Application.class)
|
@SpringBootTest(classes = Application.class)
|
||||||
|
|
Loading…
Reference in New Issue