Merge pull request #5467 from eugenp/bael-2123-modulo

Bael 2123 modulo
This commit is contained in:
Tom Hombergs 2018-10-15 23:15:52 +02:00 committed by GitHub
commit a8f3ef312b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 142 additions and 93 deletions

View File

@ -1 +0,0 @@
/bin/

View File

@ -1,93 +1,89 @@
package findItems; package com.baeldung.findItems;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.junit.Test; import org.junit.Test;
public class FindItemsBasedOnValues { public class FindItemsBasedOnOtherStreamUnitTest {
List<Employee> EmplList = new ArrayList<Employee>(); private List<Employee> employeeList = new ArrayList<Employee>();
List<Department> deptList = new ArrayList<Department>();
private List<Department> departmentList = new ArrayList<Department>();
public static void main(String[] args) throws ParseException {
FindItemsBasedOnValues findItems = new FindItemsBasedOnValues(); @Test
findItems.givenDepartmentList_thenEmployeeListIsFilteredCorrectly(); public void givenDepartmentList_thenEmployeeListIsFilteredCorrectly() {
} Integer expectedId = 1002;
@Test populate(employeeList, departmentList);
public void givenDepartmentList_thenEmployeeListIsFilteredCorrectly() {
Integer expectedId = 1002; List<Employee> filteredList = employeeList.stream()
.filter(empl -> departmentList.stream()
populate(EmplList, deptList); .anyMatch(dept -> dept.getDepartment()
.equals("sales") && empl.getEmployeeId()
List<Employee> filteredList = EmplList.stream() .equals(dept.getEmployeeId())))
.filter(empl -> deptList.stream() .collect(Collectors.toList());
.anyMatch(dept -> dept.getDepartment()
.equals("sales") && empl.getEmployeeId() assertEquals(expectedId, filteredList.get(0)
.equals(dept.getEmployeeId()))) .getEmployeeId());
.collect(Collectors.toList()); }
assertEquals(expectedId, filteredList.get(0) private void populate(List<Employee> EmplList, List<Department> deptList) {
.getEmployeeId()); Employee employee1 = new Employee(1001, "empl1");
} Employee employee2 = new Employee(1002, "empl2");
Employee employee3 = new Employee(1003, "empl3");
private void populate(List<Employee> EmplList, List<Department> deptList) {
Employee employee1 = new Employee(1001, "empl1"); Collections.addAll(EmplList, employee1, employee2, employee3);
Employee employee2 = new Employee(1002, "empl2");
Employee employee3 = new Employee(1003, "empl3"); Department department1 = new Department(1002, "sales");
Department department2 = new Department(1003, "marketing");
Collections.addAll(EmplList, employee1, employee2, employee3); Department department3 = new Department(1004, "sales");
Department department1 = new Department(1002, "sales"); Collections.addAll(deptList, department1, department2, department3);
Department department2 = new Department(1003, "marketing"); }
Department department3 = new Department(1004, "sales"); }
Collections.addAll(deptList, department1, department2, department3); class Employee {
} private Integer employeeId;
} private String employeeName;
class Employee { Employee(Integer employeeId, String employeeName) {
Integer employeeId; super();
String employeeName; this.employeeId = employeeId;
this.employeeName = employeeName;
public Employee(Integer employeeId, String employeeName) { }
super();
this.employeeId = employeeId; Integer getEmployeeId() {
this.employeeName = employeeName; return employeeId;
} }
public Integer getEmployeeId() { public String getEmployeeName() {
return employeeId; return employeeName;
} }
public String getEmployeeName() { }
return employeeName;
} class Department {
private Integer employeeId;
} private String department;
class Department { Department(Integer employeeId, String department) {
Integer employeeId; super();
String department; this.employeeId = employeeId;
this.department = department;
public Department(Integer employeeId, String department) { }
super();
this.employeeId = employeeId; Integer getEmployeeId() {
this.department = department; return employeeId;
} }
public Integer getEmployeeId() { String getDepartment() {
return employeeId; return department;
} }
public String getDepartment() {
return department;
}
} }

View File

@ -0,0 +1,54 @@
package com.baeldung.modulo;
import org.junit.Test;
import static org.assertj.core.api.Java6Assertions.*;
public class ModuloUnitTest {
@Test
public void whenIntegerDivision_thenLosesRemainder(){
assertThat(11 / 4).isEqualTo(2);
}
@Test
public void whenDoubleDivision_thenKeepsRemainder(){
assertThat(11 / 4.0).isEqualTo(2.75);
}
@Test
public void whenModulo_thenReturnsRemainder(){
assertThat(11 % 4).isEqualTo(3);
}
@Test(expected = ArithmeticException.class)
public void whenDivisionByZero_thenArithmeticException(){
double result = 1 / 0;
}
@Test(expected = ArithmeticException.class)
public void whenModuloByZero_thenArithmeticException(){
double result = 1 % 0;
}
@Test
public void whenDivisorIsOddAndModulusIs2_thenResultIs1(){
assertThat(3 % 2).isEqualTo(1);
}
@Test
public void whenDivisorIsEvenAndModulusIs2_thenResultIs0(){
assertThat(4 % 2).isEqualTo(0);
}
@Test
public void whenItemsIsAddedToCircularQueue_thenNoArrayIndexOutOfBounds(){
int QUEUE_CAPACITY= 10;
int[] circularQueue = new int[QUEUE_CAPACITY];
int itemsInserted = 0;
for (int value = 0; value < 1000; value++) {
int writeIndex = ++itemsInserted % QUEUE_CAPACITY;
circularQueue[writeIndex] = value;
}
}
}