Code for Optional stream filtering document (#696)
* Add new module for mocks comparison. * Add sources for testing. * Changes on testCase. * Enter some tests for mockito. * More tests for Mockito. * Even more tests. * Add the rest of the mocking libraries. * Javadoc on test. * Test bare bones for EasyMock. * Fist kind of test and setup. * Add tests using EasyMock with a change on LoginService. * Create LoginControllerTest.java * Test setup * [JMockit] No method called test. * [JMockit] Two methods called test. * [JMockit] One method called test. * [JMockit] Exception mock test * [JMockit] Mocked object to pass around test. * [JMockit] Custom matcher test. * [JMockit] Partial mocking test. * [JMockit] Fix with IDE. * Not stubs. Mocks. MOCKS!!! * Remove unnecesary import. * Use correct encoding. Was having problems with buildings. * Remove failing module. * Create new module mocks and move mock-comparisons there. * Add jmockit module. * Add model class. * Add collaborator class. * Add performer class. * Add performer test. * Fix * Add interface for tests. * Test for any. * Test for with. * Test for null. * Test for times. * Test for arg that. * Test for result and returns. * Test for delegate. * Add verifications to any tests. * Add verifications to with test. * Add verification examples to methods using null. * Add verifications to methods using times. * Formatting. * Compress tests and fix one test. * Adding new article to readme. * [BAEL-178] Add collaborator for advanced article. * [BAEL-178] Add link to readme. * [BAEL-178] Add test for mockUp. * [BAEL-178] Add test for invoke method. * [BAEL-178] Add constructors and tests for mockup for constructors. * [BAEL-178] Add private fields and more test for deencapsulation. * [BAEL-178] Add inner class and test for instantiating inner classes. * [BAEL-178] Multimocks. * [BAEL-178] Add test for expectation reusing. * [BAEL-178] Move test class to tests folders. * Add postgresql dependency. * Add test and config with properties. * [BAEL-114] Add new project for JPA with JNDI. * [BAEL-114] Config without xml. * [BAEL-114] Bring part of Foo, FooServie and FooDao. * [BAEL-114] Show all foos. * [BAEL-114] Readme. * [BAEL-114] Undo changes on main jpa project. * [BAEL-114] Remove unnecesary dependencies. * [BAEL-114] Add tomcat config. * [BAEL-114] Fixes. * Add tests for Optional streams. * Add Java 9 version of the test. * Rename and move to new core-java-9 module.
This commit is contained in:
		
							parent
							
								
									eaa04c6c7f
								
							
						
					
					
						commit
						043a6bddc8
					
				| @ -0,0 +1,63 @@ | ||||
| package com.baeldung.java8; | ||||
| 
 | ||||
| import static org.junit.Assert.assertEquals; | ||||
| 
 | ||||
| import java.util.Arrays; | ||||
| import java.util.List; | ||||
| import java.util.Optional; | ||||
| import java.util.stream.Collectors; | ||||
| import java.util.stream.Stream; | ||||
| 
 | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| 
 | ||||
| public class Java9OptionalsStreamTest { | ||||
| 
 | ||||
|     private List<Optional<String>> listOfOptionals; | ||||
| 
 | ||||
|     @Before | ||||
|     public void populateStream() { | ||||
|         listOfOptionals = Arrays.asList(Optional.empty(), Optional.of("foo"), Optional.empty(), Optional.of("bar")); | ||||
|     } | ||||
|      | ||||
|     @Test | ||||
|     public void filterOutPresentOptionalsWithFilter() { | ||||
|         assertEquals(4, listOfOptionals.size()); | ||||
|         //@format:off | ||||
|         List<String> filteredList = listOfOptionals.stream() | ||||
|                 .filter(Optional::isPresent) | ||||
|                 .map(Optional::get) | ||||
|                 .collect(Collectors.toList()); | ||||
|         //@format:on | ||||
|         assertEquals(2, filteredList.size()); | ||||
|         assertEquals("foo", filteredList.get(0)); | ||||
|         assertEquals("bar", filteredList.get(1)); | ||||
|     } | ||||
|      | ||||
|     @Test | ||||
|     public void filterOutPresentOptionalsWithFlatMap() { | ||||
|         assertEquals(4, listOfOptionals.size()); | ||||
|         //@format:off | ||||
|         List<String> filteredList = listOfOptionals.stream() | ||||
|                 .flatMap(o -> o.isPresent() ? Stream.of(o.get()) : Stream.empty()) | ||||
|                 .collect(Collectors.toList()); | ||||
|         //@format:on | ||||
|         assertEquals(2, filteredList.size()); | ||||
|         assertEquals("foo", filteredList.get(0)); | ||||
|         assertEquals("bar", filteredList.get(1)); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void filterOutPresentOptionalsWithJava9() { | ||||
|         assertEquals(4, listOfOptionals.size()); | ||||
|         //@format:off | ||||
|         List<String> filteredList = listOfOptionals.stream() | ||||
|                 .flatMap(Optional::stream) | ||||
|                 .collect(Collectors.toList()); | ||||
|         //@format:on | ||||
|         assertEquals(2, filteredList.size()); | ||||
|         assertEquals("foo", filteredList.get(0)); | ||||
|         assertEquals("bar", filteredList.get(1)); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user