Optimize and refactor (#2302)

This commit is contained in:
Grzegorz Piwowarek 2017-07-21 13:37:49 +03:00 committed by GitHub
parent 4e95722017
commit f8bf4038f1
32 changed files with 220 additions and 270 deletions

View File

@ -14,15 +14,18 @@ import org.springframework.test.context.junit4.SpringRunner;
import javax.servlet.FilterRegistration; import javax.servlet.FilterRegistration;
import javax.servlet.ServletContext; import javax.servlet.ServletContext;
import static org.junit.Assert.*; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = SpringBootAnnotatedApp.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = SpringBootAnnotatedApp.class)
@AutoConfigureMockMvc @AutoConfigureMockMvc
@TestPropertySource(properties = { "security.basic.enabled=false" }) @TestPropertySource(properties = {"security.basic.enabled=false"})
public class SpringBootWithServletComponentIntegrationTest { public class SpringBootWithServletComponentIntegrationTest {
@Autowired private ServletContext servletContext; @Autowired
private ServletContext servletContext;
@Test @Test
public void givenServletContext_whenAccessAttrs_thenFoundAttrsPutInServletListner() { public void givenServletContext_whenAccessAttrs_thenFoundAttrsPutInServletListner() {
@ -42,7 +45,8 @@ public class SpringBootWithServletComponentIntegrationTest {
.contains("echo servlet")); .contains("echo servlet"));
} }
@Autowired private TestRestTemplate restTemplate; @Autowired
private TestRestTemplate restTemplate;
@Test @Test
public void givenServletFilter_whenGetHello_thenRequestFiltered() { public void givenServletFilter_whenGetHello_thenRequestFiltered() {
@ -59,7 +63,6 @@ public class SpringBootWithServletComponentIntegrationTest {
} }
} }

View File

@ -14,17 +14,21 @@ import org.springframework.test.context.junit4.SpringRunner;
import javax.servlet.FilterRegistration; import javax.servlet.FilterRegistration;
import javax.servlet.ServletContext; import javax.servlet.ServletContext;
import static org.junit.Assert.*; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = SpringBootPlainApp.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = SpringBootPlainApp.class)
@AutoConfigureMockMvc @AutoConfigureMockMvc
@TestPropertySource(properties = { "security.basic.enabled=false" }) @TestPropertySource(properties = {"security.basic.enabled=false"})
public class SpringBootWithoutServletComponentIntegrationTest { public class SpringBootWithoutServletComponentIntegrationTest {
@Autowired private ServletContext servletContext; @Autowired
private ServletContext servletContext;
@Autowired private TestRestTemplate restTemplate; @Autowired
private TestRestTemplate restTemplate;
@Test @Test
public void givenServletContext_whenAccessAttrs_thenNotFound() { public void givenServletContext_whenAccessAttrs_thenNotFound() {

View File

@ -1,5 +1,8 @@
package com.baeldung.autoconfiguration; package com.baeldung.autoconfiguration;
import com.baeldung.autoconfiguration.example.AutoconfigurationApplication;
import com.baeldung.autoconfiguration.example.MyUser;
import com.baeldung.autoconfiguration.example.MyUserRepository;
import org.junit.Test; 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;
@ -7,13 +10,9 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.baeldung.autoconfiguration.example.AutoconfigurationApplication;
import com.baeldung.autoconfiguration.example.MyUser;
import com.baeldung.autoconfiguration.example.MyUserRepository;
@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = AutoconfigurationApplication.class) @SpringBootTest(classes = AutoconfigurationApplication.class)
@EnableJpaRepositories(basePackages = { "com.baeldung.autoconfiguration.example" }) @EnableJpaRepositories(basePackages = {"com.baeldung.autoconfiguration.example"})
public class AutoconfigurationIntegrationTest { public class AutoconfigurationIntegrationTest {
@Autowired @Autowired

View File

@ -1,15 +1,5 @@
package com.baeldung.displayallbeans; package com.baeldung.displayallbeans;
import static org.assertj.core.api.BDDAssertions.then;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.junit.Test; 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;
@ -23,7 +13,15 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.WebApplicationContext;
import com.baeldung.displayallbeans.Application; import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static org.assertj.core.api.BDDAssertions.then;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ -46,10 +44,10 @@ public class DisplayBeanIntegrationTest {
public void givenRestTemplate_whenAccessServerUrl_thenHttpStatusOK() throws Exception { public void givenRestTemplate_whenAccessServerUrl_thenHttpStatusOK() throws Exception {
ResponseEntity<String> entity = this.testRestTemplate.getForEntity( ResponseEntity<String> entity = this.testRestTemplate.getForEntity(
"http://localhost:" + this.port + "/displayallbeans", String.class); "http://localhost:" + this.port + "/displayallbeans", String.class);
then(entity.getStatusCode()).isEqualTo(HttpStatus.OK); then(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
} }
@Test @Test
public void givenRestTemplate_whenAccessEndpointUrl_thenHttpStatusOK() throws Exception { public void givenRestTemplate_whenAccessEndpointUrl_thenHttpStatusOK() throws Exception {
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
@ -68,14 +66,14 @@ public class DisplayBeanIntegrationTest {
List<Map<String, Object>> allBeans = (List) ((Map) entity.getBody().get(0)).get("beans"); List<Map<String, Object>> allBeans = (List) ((Map) entity.getBody().get(0)).get("beans");
List<String> beanNamesList = allBeans.stream().map(x -> (String) x.get("bean")).collect(Collectors.toList()); List<String> beanNamesList = allBeans.stream().map(x -> (String) x.get("bean")).collect(Collectors.toList());
assertThat( beanNamesList, hasItem("fooController")); assertThat(beanNamesList, hasItem("fooController"));
assertThat( beanNamesList, hasItem("fooService")); assertThat(beanNamesList, hasItem("fooService"));
} }
@Test @Test
public void givenWebApplicationContext_whenAccessGetBeanDefinitionNames_thenReturnsBeanNames() throws Exception { public void givenWebApplicationContext_whenAccessGetBeanDefinitionNames_thenReturnsBeanNames() throws Exception {
String[] beanNames = context.getBeanDefinitionNames(); String[] beanNames = context.getBeanDefinitionNames();
List<String> beanNamesList = Arrays.asList(beanNames); List<String> beanNamesList = Arrays.asList(beanNames);
assertTrue(beanNamesList.contains("fooController")); assertTrue(beanNamesList.contains("fooController"));
assertTrue(beanNamesList.contains("fooService")); assertTrue(beanNamesList.contains("fooService"));

View File

@ -18,7 +18,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest @SpringBootTest
@AutoConfigureMockMvc @AutoConfigureMockMvc
@TestPropertySource(properties = { "security.basic.enabled=false" }) @TestPropertySource(properties = {"security.basic.enabled=false"})
public class AppLiveTest { public class AppLiveTest {
@Autowired @Autowired
@ -27,15 +27,15 @@ public class AppLiveTest {
@Test @Test
public void getIndex() throws Exception { public void getIndex() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON)) mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk()) .andExpect(status().isOk())
.andExpect(content().string(equalTo("Index Page"))); .andExpect(content().string(equalTo("Index Page")));
} }
@Test @Test
public void getLocal() throws Exception { public void getLocal() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/local").accept(MediaType.APPLICATION_JSON)) mvc.perform(MockMvcRequestBuilders.get("/local").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk()) .andExpect(status().isOk())
.andExpect(content().string(equalTo("/local"))); .andExpect(content().string(equalTo("/local")));
} }
} }

View File

@ -1,9 +1,5 @@
package com.baeldung.toggle; package com.baeldung.toggle;
import static org.junit.Assert.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@ -16,6 +12,10 @@ import org.springframework.test.web.servlet.MockMvc;
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 static org.junit.Assert.assertEquals;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = ToggleApplication.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = ToggleApplication.class)
@AutoConfigureMockMvc @AutoConfigureMockMvc

View File

@ -1,5 +1,6 @@
package com.baeldung.utils; package com.baeldung.utils;
import com.baeldung.utils.controller.UtilsController;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
@ -10,32 +11,29 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import com.baeldung.utils.controller.UtilsController;
public class UtilsControllerIntegrationTest { public class UtilsControllerIntegrationTest {
@InjectMocks @InjectMocks
private UtilsController utilsController; private UtilsController utilsController;
private MockMvc mockMvc; private MockMvc mockMvc;
@Before @Before
public void setup() { public void setup() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
this.mockMvc = MockMvcBuilders.standaloneSetup(utilsController) this.mockMvc = MockMvcBuilders.standaloneSetup(utilsController)
.build(); .build();
} }
@Test @Test
public void givenParameter_setRequestParam_andSetSessionAttribute() throws Exception { public void givenParameter_setRequestParam_andSetSessionAttribute() throws Exception {
String param = "testparam"; String param = "testparam";
this.mockMvc.perform( this.mockMvc.perform(
post("/setParam") post("/setParam")
.param("param", param) .param("param", param)
.sessionAttr("parameter", param)) .sessionAttr("parameter", param))
.andExpect(status().isOk()); .andExpect(status().isOk());
} }
} }

View File

@ -6,11 +6,6 @@ import org.mockito.Mockito;
import org.springframework.messaging.simp.stomp.StompHeaders; import org.springframework.messaging.simp.stomp.StompHeaders;
import org.springframework.messaging.simp.stomp.StompSession; import org.springframework.messaging.simp.stomp.StompSession;
/**
* Test class for MyStompSessionHandler
* @author Kalyan
*
*/
public class MyStompSessionHandlerIntegrationTest { public class MyStompSessionHandlerIntegrationTest {
@Test @Test

View File

@ -45,9 +45,9 @@ public class EmployeeControllerIntegrationTest {
given(service.save(Mockito.anyObject())).willReturn(alex); given(service.save(Mockito.anyObject())).willReturn(alex);
mvc.perform(post("/api/employees").contentType(MediaType.APPLICATION_JSON) mvc.perform(post("/api/employees").contentType(MediaType.APPLICATION_JSON)
.content(JsonUtil.toJson(alex))) .content(JsonUtil.toJson(alex)))
.andExpect(status().isCreated()) .andExpect(status().isCreated())
.andExpect(jsonPath("$.name", is("alex"))); .andExpect(jsonPath("$.name", is("alex")));
verify(service, VerificationModeFactory.times(1)).save(Mockito.anyObject()); verify(service, VerificationModeFactory.times(1)).save(Mockito.anyObject());
reset(service); reset(service);
} }
@ -63,11 +63,11 @@ public class EmployeeControllerIntegrationTest {
given(service.getAllEmployees()).willReturn(allEmployees); given(service.getAllEmployees()).willReturn(allEmployees);
mvc.perform(get("/api/employees").contentType(MediaType.APPLICATION_JSON)) mvc.perform(get("/api/employees").contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk()) .andExpect(status().isOk())
.andExpect(jsonPath("$", hasSize(3))) .andExpect(jsonPath("$", hasSize(3)))
.andExpect(jsonPath("$[0].name", is(alex.getName()))) .andExpect(jsonPath("$[0].name", is(alex.getName())))
.andExpect(jsonPath("$[1].name", is(john.getName()))) .andExpect(jsonPath("$[1].name", is(john.getName())))
.andExpect(jsonPath("$[2].name", is(bob.getName()))); .andExpect(jsonPath("$[2].name", is(bob.getName())));
verify(service, VerificationModeFactory.times(1)).getAllEmployees(); verify(service, VerificationModeFactory.times(1)).getAllEmployees();
reset(service); reset(service);
} }

View File

@ -1,9 +1,5 @@
package org.baeldung.boot.boottest; package org.baeldung.boot.boottest;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.List;
import org.junit.Test; 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;
@ -11,6 +7,10 @@ import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@DataJpaTest @DataJpaTest
public class EmployeeRepositoryIntegrationTest { public class EmployeeRepositoryIntegrationTest {
@ -65,7 +65,7 @@ public class EmployeeRepositoryIntegrationTest {
List<Employee> allEmployees = employeeRepository.findAll(); List<Employee> allEmployees = employeeRepository.findAll();
assertThat(allEmployees).hasSize(3) assertThat(allEmployees).hasSize(3)
.extracting(Employee::getName) .extracting(Employee::getName)
.containsOnly(alex.getName(), ron.getName(), bob.getName()); .containsOnly(alex.getName(), ron.getName(), bob.getName());
} }
} }

View File

@ -1,19 +1,5 @@
package org.baeldung.boot.boottest; package org.baeldung.boot.boottest;
import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.hasSize;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import java.io.IOException;
import java.util.List;
import org.baeldung.boot.DemoApplication; import org.baeldung.boot.DemoApplication;
import org.junit.After; import org.junit.After;
import org.junit.Test; import org.junit.Test;
@ -27,6 +13,20 @@ import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MockMvc;
import java.io.IOException;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.hasSize;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = DemoApplication.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = DemoApplication.class)
@AutoConfigureMockMvc @AutoConfigureMockMvc
@ -49,11 +49,11 @@ public class EmployeeRestControllerIntegrationTest {
public void whenValidInput_thenCreateEmployee() throws IOException, Exception { public void whenValidInput_thenCreateEmployee() throws IOException, Exception {
Employee bob = new Employee("bob"); Employee bob = new Employee("bob");
mvc.perform(post("/api/employees").contentType(MediaType.APPLICATION_JSON) mvc.perform(post("/api/employees").contentType(MediaType.APPLICATION_JSON)
.content(JsonUtil.toJson(bob))); .content(JsonUtil.toJson(bob)));
List<Employee> found = repository.findAll(); List<Employee> found = repository.findAll();
assertThat(found).extracting(Employee::getName) assertThat(found).extracting(Employee::getName)
.containsOnly("bob"); .containsOnly("bob");
} }
@Test @Test
@ -63,12 +63,12 @@ public class EmployeeRestControllerIntegrationTest {
createTestEmployee("alex"); createTestEmployee("alex");
mvc.perform(get("/api/employees").contentType(MediaType.APPLICATION_JSON)) mvc.perform(get("/api/employees").contentType(MediaType.APPLICATION_JSON))
.andDo(print()) .andDo(print())
.andExpect(status().isOk()) .andExpect(status().isOk())
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
.andExpect(jsonPath("$", hasSize(greaterThanOrEqualTo(2)))) .andExpect(jsonPath("$", hasSize(greaterThanOrEqualTo(2))))
.andExpect(jsonPath("$[0].name", is("bob"))) .andExpect(jsonPath("$[0].name", is("bob")))
.andExpect(jsonPath("$[1].name", is("alex"))); .andExpect(jsonPath("$[1].name", is("alex")));
} }
private void createTestEmployee(String name) { private void createTestEmployee(String name) {

View File

@ -1,10 +1,5 @@
package org.baeldung.boot.boottest; package org.baeldung.boot.boottest;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Arrays;
import java.util.List;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@ -16,6 +11,11 @@ import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import java.util.Arrays;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
public class EmployeeServiceImplIntegrationTest { public class EmployeeServiceImplIntegrationTest {
@ -44,27 +44,27 @@ public class EmployeeServiceImplIntegrationTest {
List<Employee> allEmployees = Arrays.asList(john, bob, alex); List<Employee> allEmployees = Arrays.asList(john, bob, alex);
Mockito.when(employeeRepository.findByName(john.getName())) Mockito.when(employeeRepository.findByName(john.getName()))
.thenReturn(john); .thenReturn(john);
Mockito.when(employeeRepository.findByName(alex.getName())) Mockito.when(employeeRepository.findByName(alex.getName()))
.thenReturn(alex); .thenReturn(alex);
Mockito.when(employeeRepository.findByName("wrong_name")) Mockito.when(employeeRepository.findByName("wrong_name"))
.thenReturn(null); .thenReturn(null);
Mockito.when(employeeRepository.findById(john.getId())) Mockito.when(employeeRepository.findById(john.getId()))
.thenReturn(john); .thenReturn(john);
Mockito.when(employeeRepository.findAll()) Mockito.when(employeeRepository.findAll())
.thenReturn(allEmployees); .thenReturn(allEmployees);
Mockito.when(employeeRepository.findById(-99L)) Mockito.when(employeeRepository.findById(-99L))
.thenReturn(null); .thenReturn(null);
} }
@Test @Test
public void whenValidName_thenEmployeeShouldBeFound() { public void whenValidName_thenEmployeeShouldBeFound() {
String name = "alex"; String name = "alex";
Employee found = employeeService.getEmployeeByName(name); Employee found = employeeService.getEmployeeByName(name);
assertThat(found.getName()) assertThat(found.getName())
.isEqualTo(name); .isEqualTo(name);
} }
@Test @Test
public void whenInValidName_thenEmployeeShouldNotBeFound() { public void whenInValidName_thenEmployeeShouldNotBeFound() {
@ -114,25 +114,25 @@ public class EmployeeServiceImplIntegrationTest {
List<Employee> allEmployees = employeeService.getAllEmployees(); List<Employee> allEmployees = employeeService.getAllEmployees();
verifyFindAllEmployeesIsCalledOnce(); verifyFindAllEmployeesIsCalledOnce();
assertThat(allEmployees).hasSize(3) assertThat(allEmployees).hasSize(3)
.extracting(Employee::getName) .extracting(Employee::getName)
.contains(alex.getName(), john.getName(), bob.getName()); .contains(alex.getName(), john.getName(), bob.getName());
} }
private void verifyFindByNameIsCalledOnce(String name) { private void verifyFindByNameIsCalledOnce(String name) {
Mockito.verify(employeeRepository, VerificationModeFactory.times(1)) Mockito.verify(employeeRepository, VerificationModeFactory.times(1))
.findByName(name); .findByName(name);
Mockito.reset(employeeRepository); Mockito.reset(employeeRepository);
} }
private void verifyFindByIdIsCalledOnce() { private void verifyFindByIdIsCalledOnce() {
Mockito.verify(employeeRepository, VerificationModeFactory.times(1)) Mockito.verify(employeeRepository, VerificationModeFactory.times(1))
.findById(Mockito.anyLong()); .findById(Mockito.anyLong());
Mockito.reset(employeeRepository); Mockito.reset(employeeRepository);
} }
private void verifyFindAllEmployeesIsCalledOnce() { private void verifyFindAllEmployeesIsCalledOnce() {
Mockito.verify(employeeRepository, VerificationModeFactory.times(1)) Mockito.verify(employeeRepository, VerificationModeFactory.times(1))
.findAll(); .findAll();
Mockito.reset(employeeRepository); Mockito.reset(employeeRepository);
} }
} }

View File

@ -1,10 +1,10 @@
package org.baeldung.boot.boottest; package org.baeldung.boot.boottest;
import java.io.IOException;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
class JsonUtil { class JsonUtil {
static byte[] toJson(Object object) throws IOException { static byte[] toJson(Object object) throws IOException {
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();

View File

@ -28,9 +28,17 @@ import static org.springframework.restdocs.hypermedia.HypermediaDocumentation.li
import static org.springframework.restdocs.hypermedia.HypermediaDocumentation.links; import static org.springframework.restdocs.hypermedia.HypermediaDocumentation.links;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.*; import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.delete;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.*; import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
import static org.springframework.restdocs.payload.PayloadDocumentation.*; import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.patch;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.put;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessRequest;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessResponse;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.prettyPrint;
import static org.springframework.restdocs.payload.PayloadDocumentation.fieldWithPath;
import static org.springframework.restdocs.payload.PayloadDocumentation.requestFields;
import static org.springframework.restdocs.payload.PayloadDocumentation.responseFields;
import static org.springframework.restdocs.snippet.Attributes.key; import static org.springframework.restdocs.snippet.Attributes.key;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.util.StringUtils.collectionToDelimitedString; import static org.springframework.util.StringUtils.collectionToDelimitedString;

View File

@ -1,8 +1,6 @@
package com.example; package com.example;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.jayway.jsonpath.JsonPath;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
@ -14,21 +12,19 @@ import org.springframework.restdocs.RestDocumentation;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
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 java.io.UnsupportedEncodingException; import static org.hamcrest.Matchers.is;
import java.util.Arrays; import static org.hamcrest.Matchers.notNullValue;
import java.util.HashMap;
import java.util.Map;
import static org.hamcrest.Matchers.*;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.*; import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.*; import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessRequest;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessResponse;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.prettyPrint;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SpringRestDocsApplication.class) @SpringApplicationConfiguration(classes = SpringRestDocsApplication.class)

View File

@ -37,7 +37,7 @@ public abstract class AbstractDiscoverabilityLiveTest<T extends Serializable> ex
// Then // Then
final String allowHeader = res.getHeader(HttpHeaders.ALLOW); final String allowHeader = res.getHeader(HttpHeaders.ALLOW);
assertThat(allowHeader, AnyOf.<String> anyOf(containsString("GET"), containsString("PUT"), containsString("DELETE"))); assertThat(allowHeader, AnyOf.anyOf(containsString("GET"), containsString("PUT"), containsString("DELETE")));
} }
@Test @Test

View File

@ -31,7 +31,7 @@ public abstract class CsrfAbstractIntegrationTest {
@Autowired @Autowired
private Filter springSecurityFilterChain; private Filter springSecurityFilterChain;
protected MockMvc mvc; MockMvc mvc;
// //
@ -40,15 +40,15 @@ public abstract class CsrfAbstractIntegrationTest {
mvc = MockMvcBuilders.webAppContextSetup(context).addFilters(springSecurityFilterChain).build(); mvc = MockMvcBuilders.webAppContextSetup(context).addFilters(springSecurityFilterChain).build();
} }
protected RequestPostProcessor testUser() { RequestPostProcessor testUser() {
return user("user1").password("user1Pass").roles("USER"); return user("user1").password("user1Pass").roles("USER");
} }
protected RequestPostProcessor testAdmin() { RequestPostProcessor testAdmin() {
return user("admin").password("adminPass").roles("USER", "ADMIN"); return user("admin").password("adminPass").roles("USER", "ADMIN");
} }
protected String createFoo() throws JsonProcessingException { String createFoo() throws JsonProcessingException {
return new ObjectMapper().writeValueAsString(new Foo(randomAlphabetic(6))); return new ObjectMapper().writeValueAsString(new Foo(randomAlphabetic(6)));
} }
} }

View File

@ -33,10 +33,6 @@ public final class JacksonMarshaller implements IMarshaller {
String entityAsJSON = null; String entityAsJSON = null;
try { try {
entityAsJSON = objectMapper.writeValueAsString(resource); entityAsJSON = objectMapper.writeValueAsString(resource);
} catch (final JsonParseException parseEx) {
logger.error("", parseEx);
} catch (final JsonMappingException mappingEx) {
logger.error("", mappingEx);
} catch (final IOException ioEx) { } catch (final IOException ioEx) {
logger.error("", ioEx); logger.error("", ioEx);
} }
@ -51,10 +47,6 @@ public final class JacksonMarshaller implements IMarshaller {
T entity = null; T entity = null;
try { try {
entity = objectMapper.readValue(resourceAsString, clazz); entity = objectMapper.readValue(resourceAsString, clazz);
} catch (final JsonParseException parseEx) {
logger.error("", parseEx);
} catch (final JsonMappingException mappingEx) {
logger.error("", mappingEx);
} catch (final IOException ioEx) { } catch (final IOException ioEx) {
logger.error("", ioEx); logger.error("", ioEx);
} }
@ -76,10 +68,6 @@ public final class JacksonMarshaller implements IMarshaller {
} else { } else {
entities = objectMapper.readValue(resourcesAsString, List.class); entities = objectMapper.readValue(resourcesAsString, List.class);
} }
} catch (final JsonParseException parseEx) {
logger.error("", parseEx);
} catch (final JsonMappingException mappingEx) {
logger.error("", mappingEx);
} catch (final IOException ioEx) { } catch (final IOException ioEx) {
logger.error("", ioEx); logger.error("", ioEx);
} }

View File

@ -10,21 +10,21 @@ public final class IDUtil {
// API // API
public final static String randomPositiveLongAsString() { public static String randomPositiveLongAsString() {
return Long.toString(randomPositiveLong()); return Long.toString(randomPositiveLong());
} }
public final static String randomNegativeLongAsString() { public static String randomNegativeLongAsString() {
return Long.toString(randomNegativeLong()); return Long.toString(randomNegativeLong());
} }
public final static long randomPositiveLong() { public static long randomPositiveLong() {
long id = new Random().nextLong() * 10000; long id = new Random().nextLong() * 10000;
id = (id < 0) ? (-1 * id) : id; id = (id < 0) ? (-1 * id) : id;
return id; return id;
} }
public final static long randomNegativeLong() { private static long randomNegativeLong() {
long id = new Random().nextLong() * 10000; long id = new Random().nextLong() * 10000;
id = (id > 0) ? (-1 * id) : id; id = (id > 0) ? (-1 * id) : id;
return id; return id;

View File

@ -27,6 +27,7 @@ public class LoggerInterceptorIntegrationTest {
@Autowired @Autowired
WebApplicationContext wac; WebApplicationContext wac;
@Autowired @Autowired
MockHttpSession session; MockHttpSession session;

View File

@ -1,10 +1,5 @@
package org.baeldung.web.util; package org.baeldung.web.util;
import java.util.List;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
public final class HTTPLinkHeaderUtil { public final class HTTPLinkHeaderUtil {
private HTTPLinkHeaderUtil() { private HTTPLinkHeaderUtil() {
@ -13,23 +8,6 @@ public final class HTTPLinkHeaderUtil {
// //
/**
* ex. <br>
* https://api.github.com/users/steveklabnik/gists?page=2>; rel="next", <https://api.github.com/users/steveklabnik/gists?page=3>; rel="last"
*/
public static List<String> extractAllURIs(final String linkHeader) {
Preconditions.checkNotNull(linkHeader);
final List<String> linkHeaders = Lists.newArrayList();
final String[] links = linkHeader.split(", ");
for (final String link : links) {
final int positionOfSeparator = link.indexOf(';');
linkHeaders.add(link.substring(1, positionOfSeparator - 1));
}
return linkHeaders;
}
public static String extractURIByRel(final String linkHeader, final String rel) { public static String extractURIByRel(final String linkHeader, final String rel) {
if (linkHeader == null) { if (linkHeader == null) {
return null; return null;
@ -37,7 +15,7 @@ public final class HTTPLinkHeaderUtil {
String uriWithSpecifiedRel = null; String uriWithSpecifiedRel = null;
final String[] links = linkHeader.split(", "); final String[] links = linkHeader.split(", ");
String linkRelation = null; String linkRelation;
for (final String link : links) { for (final String link : links) {
final int positionOfSeparator = link.indexOf(';'); final int positionOfSeparator = link.indexOf(';');
linkRelation = link.substring(positionOfSeparator + 1, link.length()).trim(); linkRelation = link.substring(positionOfSeparator + 1, link.length()).trim();
@ -50,20 +28,9 @@ public final class HTTPLinkHeaderUtil {
return uriWithSpecifiedRel; return uriWithSpecifiedRel;
} }
static Object extractTypeOfRelation(final String linkRelation) { private static Object extractTypeOfRelation(final String linkRelation) {
final int positionOfEquals = linkRelation.indexOf('='); final int positionOfEquals = linkRelation.indexOf('=');
return linkRelation.substring(positionOfEquals + 2, linkRelation.length() - 1).trim(); return linkRelation.substring(positionOfEquals + 2, linkRelation.length() - 1).trim();
} }
/**
* ex. <br>
* https://api.github.com/users/steveklabnik/gists?page=2>; rel="next"
*/
public static String extractSingleURI(final String linkHeader) {
Preconditions.checkNotNull(linkHeader);
final int positionOfSeparator = linkHeader.indexOf(';');
return linkHeader.substring(1, positionOfSeparator - 1);
}
} }

View File

@ -41,7 +41,7 @@ public class ExpressionUtilityObjectsControllerIntegrationTest {
@Autowired @Autowired
private Filter springSecurityFilterChain; private Filter springSecurityFilterChain;
protected RequestPostProcessor testUser() { private RequestPostProcessor testUser() {
return user("user1").password("user1Pass").roles("USER"); return user("user1").password("user1Pass").roles("USER");
} }

View File

@ -41,7 +41,7 @@ public class LayoutDialectControllerIntegrationTest {
@Autowired @Autowired
private Filter springSecurityFilterChain; private Filter springSecurityFilterChain;
protected RequestPostProcessor testUser() { private RequestPostProcessor testUser() {
return user("user1").password("user1Pass").roles("USER"); return user("user1").password("user1Pass").roles("USER");
} }

View File

@ -41,7 +41,7 @@ public class CsrfEnabledIntegrationTest {
@Autowired @Autowired
private Filter springSecurityFilterChain; private Filter springSecurityFilterChain;
protected RequestPostProcessor testUser() { private RequestPostProcessor testUser() {
return user("user1").password("user1Pass").roles("USER"); return user("user1").password("user1Pass").roles("USER");
} }

View File

@ -1,20 +1,20 @@
package com.baeldung.junitparams; package com.baeldung.junitparams;
import static org.junit.Assert.assertEquals;
import junitparams.FileParameters; import junitparams.FileParameters;
import junitparams.JUnitParamsRunner; import junitparams.JUnitParamsRunner;
import junitparams.Parameters; import junitparams.Parameters;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import static org.junit.Assert.assertEquals;
@RunWith(JUnitParamsRunner.class) @RunWith(JUnitParamsRunner.class)
public class SafeAdditionUtilTest { public class SafeAdditionUtilTest {
private SafeAdditionUtil serviceUnderTest = new SafeAdditionUtil(); private SafeAdditionUtil serviceUnderTest = new SafeAdditionUtil();
@Test @Test
@Parameters({ "1, 2, 3", "-10, 30, 20", "15, -5, 10", "-5, -10, -15" }) @Parameters({"1, 2, 3", "-10, 30, 20", "15, -5, 10", "-5, -10, -15"})
public void whenWithAnnotationProvidedParams_thenSafeAdd(int a, int b, int expectedValue) { public void whenWithAnnotationProvidedParams_thenSafeAdd(int a, int b, int expectedValue) {
assertEquals(expectedValue, serviceUnderTest.safeAdd(a, b)); assertEquals(expectedValue, serviceUnderTest.safeAdd(a, b));
} }
@ -26,7 +26,7 @@ public class SafeAdditionUtilTest {
} }
private Object[] parametersToTestAdd() { private Object[] parametersToTestAdd() {
return new Object[] { new Object[] { 1, 2, 3 }, new Object[] { -10, 30, 20 }, new Object[] { Integer.MAX_VALUE, 2, Integer.MAX_VALUE }, new Object[] { Integer.MIN_VALUE, -8, Integer.MIN_VALUE } }; return new Object[]{new Object[]{1, 2, 3}, new Object[]{-10, 30, 20}, new Object[]{Integer.MAX_VALUE, 2, Integer.MAX_VALUE}, new Object[]{Integer.MIN_VALUE, -8, Integer.MIN_VALUE}};
} }
@Test @Test
@ -36,7 +36,7 @@ public class SafeAdditionUtilTest {
} }
private Object[] parametersForWhenWithnoParam_thenLoadByNameSafeAdd() { private Object[] parametersForWhenWithnoParam_thenLoadByNameSafeAdd() {
return new Object[] { new Object[] { 1, 2, 3 }, new Object[] { -10, 30, 20 }, new Object[] { Integer.MAX_VALUE, 2, Integer.MAX_VALUE }, new Object[] { Integer.MIN_VALUE, -8, Integer.MIN_VALUE } }; return new Object[]{new Object[]{1, 2, 3}, new Object[]{-10, 30, 20}, new Object[]{Integer.MAX_VALUE, 2, Integer.MAX_VALUE}, new Object[]{Integer.MIN_VALUE, -8, Integer.MIN_VALUE}};
} }
@Test @Test

View File

@ -3,11 +3,11 @@ package com.baeldung.junitparams;
public class TestDataProvider { public class TestDataProvider {
public static Object[] provideBasicData() { public static Object[] provideBasicData() {
return new Object[] { new Object[] { 1, 2, 3 }, new Object[] { -10, 30, 20 }, new Object[] { 15, -5, 10 }, new Object[] { -5, -10, -15 } }; return new Object[]{new Object[]{1, 2, 3}, new Object[]{-10, 30, 20}, new Object[]{15, -5, 10}, new Object[]{-5, -10, -15}};
} }
public static Object[] provideEdgeCaseData() { public static Object[] provideEdgeCaseData() {
return new Object[] { new Object[] { Integer.MAX_VALUE, 2, Integer.MAX_VALUE }, new Object[] { Integer.MIN_VALUE, -2, Integer.MIN_VALUE }, }; return new Object[]{new Object[]{Integer.MAX_VALUE, 2, Integer.MAX_VALUE}, new Object[]{Integer.MIN_VALUE, -2, Integer.MIN_VALUE},};
} }
} }

View File

@ -1,15 +1,14 @@
package com.baeldung.testing.calculator; package com.baeldung.testing.calculator;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions; import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber; import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class) @RunWith(Cucumber.class)
@CucumberOptions( @CucumberOptions(
features={"classpath:features/calculator.feature", "classpath:features/calculator-scenario-outline.feature"} features = {"classpath:features/calculator.feature", "classpath:features/calculator-scenario-outline.feature"}
, plugin = { "pretty", "json:target/reports/json/calculator.json" } , plugin = {"pretty", "json:target/reports/json/calculator.json"}
, glue = {"com.baeldung.cucumber.calculator"} , glue = {"com.baeldung.cucumber.calculator"}
) )
public class CalculatorIntegrationTest { public class CalculatorIntegrationTest {
} }

View File

@ -1,16 +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 org.junit.Test;
import io.vavr.Tuple;
import io.vavr.Tuple2; import io.vavr.Tuple2;
import io.vavr.collection.Array; import io.vavr.collection.Array;
import io.vavr.collection.CharSeq; import io.vavr.collection.CharSeq;
@ -26,6 +15,16 @@ 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 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 {
@ -34,7 +33,7 @@ public class CollectionAPIUnitTest {
List<Integer> intList = List.empty(); List<Integer> intList = List.empty();
List<Integer> anotherList = intList.push(4) List<Integer> anotherList = intList.push(4)
.push(0); .push(0);
Iterator<Integer> iterator = anotherList.iterator(); Iterator<Integer> iterator = anotherList.iterator();
assertEquals(new Integer(0), iterator.next()); assertEquals(new Integer(0), iterator.next());
@ -46,7 +45,7 @@ public class CollectionAPIUnitTest {
List<Integer> intList = List.of(1, 2, 3); List<Integer> intList = List.of(1, 2, 3);
List<Integer> newList = intList.tail() List<Integer> newList = intList.tail()
.prepend(0); .prepend(0);
assertEquals(new Integer(1), intList.get(0)); assertEquals(new Integer(1), intList.get(0));
assertEquals(new Integer(2), intList.get(1)); assertEquals(new Integer(2), intList.get(1));
@ -62,45 +61,45 @@ public class CollectionAPIUnitTest {
public void givenQueue_whenEnqueued_thenCorrect() { public void givenQueue_whenEnqueued_thenCorrect() {
Queue<Integer> queue = Queue.of(1, 2, 3); Queue<Integer> queue = Queue.of(1, 2, 3);
Queue<Integer> secondQueue = queue.enqueue(4) Queue<Integer> secondQueue = queue.enqueue(4)
.enqueue(5); .enqueue(5);
assertEquals(3, queue.size()); assertEquals(3, queue.size());
assertEquals(5, secondQueue.size()); assertEquals(5, secondQueue.size());
secondQueue.dequeue() secondQueue.dequeue()
.map((k, v) -> { .map((k, v) -> {
assertEquals(new Integer(1), k); assertEquals(new Integer(1), k);
return v.dequeue(); return v.dequeue();
}) })
.map((k, v) -> { .map((k, v) -> {
assertEquals(new Integer(2), k); assertEquals(new Integer(2), k);
return v.dequeue(); return v.dequeue();
}) })
.map((k, v) -> { .map((k, v) -> {
assertEquals(new Integer(3), k); assertEquals(new Integer(3), k);
return v.dequeue(); return v.dequeue();
}) })
.map((k, v) -> { .map((k, v) -> {
assertEquals(new Integer(4), k); assertEquals(new Integer(4), k);
return v.dequeue(); return v.dequeue();
}) })
.map((k, v) -> { .map((k, v) -> {
assertEquals(new Integer(5), k); assertEquals(new Integer(5), k);
assertTrue(v.isEmpty()); assertTrue(v.isEmpty());
return null; return null;
}); });
} }
@Test @Test
public void givenStream_whenProcessed_thenCorrect() { public void givenStream_whenProcessed_thenCorrect() {
Stream<Integer> intStream = Stream.iterate(0, i -> i + 1) Stream<Integer> intStream = Stream.iterate(0, i -> i + 1)
.take(10); .take(10);
assertEquals(10, intStream.size()); assertEquals(10, intStream.size());
long evenSum = intStream.filter(i -> i % 2 == 0) long evenSum = intStream.filter(i -> i % 2 == 0)
.sum() .sum()
.longValue(); .longValue();
assertEquals(20L, evenSum); assertEquals(20L, evenSum);
assertEquals(new Integer(5), intStream.get(5)); assertEquals(new Integer(5), intStream.get(5));
@ -170,7 +169,7 @@ public class CollectionAPIUnitTest {
@Test @Test
public void givenSortedSet_whenReversed_thenCorrect() { public void givenSortedSet_whenReversed_thenCorrect() {
Comparator<String> reverseCompare = (a, b) -> b.compareTo(a); Comparator<String> reverseCompare = Comparator.reverseOrder();
SortedSet<String> set = TreeSet.of(reverseCompare, "Green", "Red", "Blue"); SortedSet<String> set = TreeSet.of(reverseCompare, "Green", "Red", "Blue");
Iterator<String> iterator = set.iterator(); Iterator<String> iterator = set.iterator();
@ -182,17 +181,17 @@ public class CollectionAPIUnitTest {
@Test @Test
public void givenMap_whenIterated_thenCorrect() { public void givenMap_whenIterated_thenCorrect() {
Map<Integer, List<Integer>> map = List.rangeClosed(0, 10) Map<Integer, List<Integer>> map = List.rangeClosed(0, 10)
.groupBy(i -> i % 2); .groupBy(i -> i % 2);
assertEquals(2, map.size()); assertEquals(2, map.size());
Iterator<Tuple2<Integer, List<Integer>>> iterator = map.iterator(); Iterator<Tuple2<Integer, List<Integer>>> iterator = map.iterator();
assertEquals(6, iterator.next() assertEquals(6, iterator.next()
._2() ._2()
.size()); .size());
assertEquals(5, iterator.next() assertEquals(5, iterator.next()
._2() ._2()
.size()); .size());
} }
@Test @Test
@ -201,11 +200,11 @@ public class CollectionAPIUnitTest {
Iterator<Tuple2<Integer, String>> iterator = map.iterator(); Iterator<Tuple2<Integer, String>> iterator = map.iterator();
assertEquals(new Integer(1), iterator.next() assertEquals(new Integer(1), iterator.next()
._1()); ._1());
assertEquals(new Integer(2), iterator.next() assertEquals(new Integer(2), iterator.next()
._1()); ._1());
assertEquals(new Integer(3), iterator.next() assertEquals(new Integer(3), iterator.next()
._1()); ._1());
} }
@Test @Test
@ -223,19 +222,14 @@ public class CollectionAPIUnitTest {
@Test @Test
public void givenVavrList_whenConverted_thenCorrect() { public void givenVavrList_whenConverted_thenCorrect() {
Integer[] array = List.of(1, 2, 3) java.util.Set<Integer> collect = List.of(1, 2, 3)
.toJavaArray(Integer.class); .collect(Collectors.toSet());
assertEquals(3, array.length);
java.util.Map<String, Integer> map = List.of("1", "2", "3")
.toJavaMap(i -> Tuple.of(i, Integer.valueOf(i)));
assertEquals(new Integer(2), map.get("2"));
} }
@Test @Test
public void givenVavrList_whenConvertedView_thenCorrect() { public void givenVavrList_whenConvertedView_thenCorrect() {
java.util.List<Integer> javaList = List.of(1, 2, 3) java.util.List<Integer> javaList = List.of(1, 2, 3)
.asJavaMutable(); .asJavaMutable();
javaList.add(4); javaList.add(4);
assertEquals(new Integer(4), javaList.get(3)); assertEquals(new Integer(4), javaList.get(3));
@ -244,7 +238,7 @@ public class CollectionAPIUnitTest {
@Test(expected = UnsupportedOperationException.class) @Test(expected = UnsupportedOperationException.class)
public void givenVavrList_whenConvertedView_thenException() { public void givenVavrList_whenConvertedView_thenException() {
java.util.List<Integer> javaList = List.of(1, 2, 3) java.util.List<Integer> javaList = List.of(1, 2, 3)
.asJava(); .asJava();
assertEquals(new Integer(3), javaList.get(2)); assertEquals(new Integer(3), javaList.get(2));
javaList.add(4); javaList.add(4);
@ -254,8 +248,8 @@ public class CollectionAPIUnitTest {
public void givenList_whenSquared_thenCorrect() { public void givenList_whenSquared_thenCorrect() {
List<Integer> vavrList = List.of(1, 2, 3); List<Integer> vavrList = List.of(1, 2, 3);
Number sum = vavrList.map(i -> i * i) Number sum = vavrList.map(i -> i * i)
.sum(); .sum();
assertEquals(new Long(14), sum); assertEquals(14L, sum);
} }
} }

View File

@ -21,10 +21,10 @@ public class JsonCreatorUnitTest {
// arrange // arrange
String authorJson = String authorJson =
"{" + "{" +
" \"christianName\": \"Alex\"," + " \"christianName\": \"Alex\"," +
" \"surname\": \"Theedom\"" + " \"surname\": \"Theedom\"" +
"}"; "}";
// act // act
final Author author = new ObjectMapper().readerFor(Author.class).readValue(authorJson); final Author author = new ObjectMapper().readerFor(Author.class).readValue(authorJson);

View File

@ -24,7 +24,7 @@ public class JsonFilterUnitTest {
// arrange // arrange
Author author = new Author("Alex", "Theedom"); Author author = new Author("Alex", "Theedom");
FilterProvider filters = new SimpleFilterProvider() FilterProvider filters = new SimpleFilterProvider()
.addFilter("authorFilter", SimpleBeanPropertyFilter.filterOutAllExcept("lastName")); .addFilter("authorFilter", SimpleBeanPropertyFilter.filterOutAllExcept("lastName"));
// act // act
String result = new ObjectMapper().writer(filters).writeValueAsString(author); String result = new ObjectMapper().writer(filters).writeValueAsString(author);

View File

@ -32,8 +32,8 @@ public class JsonFormatUnitTest {
Date date = df.parse(toParse); Date date = df.parse(toParse);
Book book = new Book( Book book = new Book(
"Design Patterns: Elements of Reusable Object-oriented Software", "Design Patterns: Elements of Reusable Object-oriented Software",
new Author("The", "GoF") new Author("The", "GoF")
); );
book.setPublished(date); book.setPublished(date);

View File

@ -22,8 +22,8 @@ public class JsonPropertyUnitTest {
// arrange // arrange
Book book = new Book( Book book = new Book(
"Design Patterns: Elements of Reusable Object-oriented Software", "Design Patterns: Elements of Reusable Object-oriented Software",
new Author("The", "GoF") new Author("The", "GoF")
); );
book.configureBinding("Hardback"); book.configureBinding("Hardback");