cleanup work

This commit is contained in:
eugenp 2016-10-25 11:09:51 +03:00
parent a44be73deb
commit 2ab201d639
49 changed files with 489 additions and 653 deletions

View File

@ -6,11 +6,11 @@ import java.time.Period;
public class UseDuration { public class UseDuration {
public LocalTime modifyDates(LocalTime localTime,Duration duration){ public LocalTime modifyDates(LocalTime localTime, Duration duration) {
return localTime.plus(duration); return localTime.plus(duration);
} }
public Duration getDifferenceBetweenDates(LocalTime localTime1,LocalTime localTime2){ public Duration getDifferenceBetweenDates(LocalTime localTime1, LocalTime localTime2) {
return Duration.between(localTime1, localTime2); return Duration.between(localTime1, localTime2);
} }
} }

View File

@ -8,38 +8,38 @@ import java.time.temporal.TemporalAdjusters;
public class UseLocalDate { public class UseLocalDate {
public LocalDate getLocalDateUsingFactoryOfMethod(int year, int month, int dayOfMonth){ public LocalDate getLocalDateUsingFactoryOfMethod(int year, int month, int dayOfMonth) {
return LocalDate.of(year, month, dayOfMonth); return LocalDate.of(year, month, dayOfMonth);
} }
public LocalDate getLocalDateUsingParseMethod(String representation){ public LocalDate getLocalDateUsingParseMethod(String representation) {
return LocalDate.parse(representation); return LocalDate.parse(representation);
} }
public LocalDate getLocalDateFromClock(){ public LocalDate getLocalDateFromClock() {
LocalDate localDate = LocalDate.now(); LocalDate localDate = LocalDate.now();
return localDate; return localDate;
} }
public LocalDate getNextDay(LocalDate localDate){ public LocalDate getNextDay(LocalDate localDate) {
return localDate.plusDays(1); return localDate.plusDays(1);
} }
public LocalDate getPreviousDay(LocalDate localDate){ public LocalDate getPreviousDay(LocalDate localDate) {
return localDate.minus(1, ChronoUnit.DAYS); return localDate.minus(1, ChronoUnit.DAYS);
} }
public DayOfWeek getDayOfWeek(LocalDate localDate){ public DayOfWeek getDayOfWeek(LocalDate localDate) {
DayOfWeek day = localDate.getDayOfWeek(); DayOfWeek day = localDate.getDayOfWeek();
return day; return day;
} }
public LocalDate getFirstDayOfMonth(){ public LocalDate getFirstDayOfMonth() {
LocalDate firstDayOfMonth = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()); LocalDate firstDayOfMonth = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth());
return firstDayOfMonth; return firstDayOfMonth;
} }
public LocalDateTime getStartOfDay(LocalDate localDate){ public LocalDateTime getStartOfDay(LocalDate localDate) {
LocalDateTime startofDay = localDate.atStartOfDay(); LocalDateTime startofDay = localDate.atStartOfDay();
return startofDay; return startofDay;
} }

View File

@ -4,7 +4,7 @@ import java.time.LocalDateTime;
public class UseLocalDateTime { public class UseLocalDateTime {
public LocalDateTime getLocalDateTimeUsingParseMethod(String representation){ public LocalDateTime getLocalDateTimeUsingParseMethod(String representation) {
return LocalDateTime.parse(representation); return LocalDateTime.parse(representation);
} }

View File

@ -5,31 +5,31 @@ import java.time.temporal.ChronoUnit;
public class UseLocalTime { public class UseLocalTime {
public LocalTime getLocalTimeUsingFactoryOfMethod(int hour, int min, int seconds){ public LocalTime getLocalTimeUsingFactoryOfMethod(int hour, int min, int seconds) {
LocalTime localTime = LocalTime.of(hour, min, seconds); LocalTime localTime = LocalTime.of(hour, min, seconds);
return localTime; return localTime;
} }
public LocalTime getLocalTimeUsingParseMethod(String timeRepresentation){ public LocalTime getLocalTimeUsingParseMethod(String timeRepresentation) {
LocalTime localTime = LocalTime.parse(timeRepresentation); LocalTime localTime = LocalTime.parse(timeRepresentation);
return localTime; return localTime;
} }
public LocalTime getLocalTimeFromClock(){ public LocalTime getLocalTimeFromClock() {
LocalTime localTime = LocalTime.now(); LocalTime localTime = LocalTime.now();
return localTime; return localTime;
} }
public LocalTime addAnHour(LocalTime localTime){ public LocalTime addAnHour(LocalTime localTime) {
LocalTime newTime = localTime.plus(1,ChronoUnit.HOURS); LocalTime newTime = localTime.plus(1, ChronoUnit.HOURS);
return newTime; return newTime;
} }
public int getHourFromLocalTime(LocalTime localTime){ public int getHourFromLocalTime(LocalTime localTime) {
return localTime.getHour(); return localTime.getHour();
} }
public LocalTime getLocalTimeWithMinuteSetToValue(LocalTime localTime, int minute){ public LocalTime getLocalTimeWithMinuteSetToValue(LocalTime localTime, int minute) {
return localTime.withMinute(minute); return localTime.withMinute(minute);
} }
} }

View File

@ -5,11 +5,11 @@ import java.time.Period;
public class UsePeriod { public class UsePeriod {
public LocalDate modifyDates(LocalDate localDate,Period period){ public LocalDate modifyDates(LocalDate localDate, Period period) {
return localDate.plus(period); return localDate.plus(period);
} }
public Period getDifferenceBetweenDates(LocalDate localDate1,LocalDate localDate2){ public Period getDifferenceBetweenDates(LocalDate localDate1, LocalDate localDate2) {
return Period.between(localDate1, localDate2); return Period.between(localDate1, localDate2);
} }
} }

View File

@ -7,12 +7,12 @@ import java.util.Date;
public class UseToInstant { public class UseToInstant {
public LocalDateTime convertDateToLocalDate(Date date){ public LocalDateTime convertDateToLocalDate(Date date) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
return localDateTime; return localDateTime;
} }
public LocalDateTime convertDateToLocalDate(Calendar calendar){ public LocalDateTime convertDateToLocalDate(Calendar calendar) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(calendar.toInstant(), ZoneId.systemDefault()); LocalDateTime localDateTime = LocalDateTime.ofInstant(calendar.toInstant(), ZoneId.systemDefault());
return localDateTime; return localDateTime;
} }

View File

@ -6,7 +6,7 @@ import java.time.ZonedDateTime;
public class UseZonedDateTime { public class UseZonedDateTime {
public ZonedDateTime getZonedDateTime(LocalDateTime localDateTime,ZoneId zoneId){ public ZonedDateTime getZonedDateTime(LocalDateTime localDateTime, ZoneId zoneId) {
ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, zoneId); ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, zoneId);
return zonedDateTime; return zonedDateTime;
} }

View File

@ -7,8 +7,7 @@ import java.util.stream.Collectors;
public class Pizza { public class Pizza {
private static EnumSet<PizzaStatusEnum> deliveredPizzaStatuses = private static EnumSet<PizzaStatusEnum> deliveredPizzaStatuses = EnumSet.of(PizzaStatusEnum.DELIVERED);
EnumSet.of(PizzaStatusEnum.DELIVERED);
private PizzaStatusEnum status; private PizzaStatusEnum status;
@ -76,9 +75,7 @@ public class Pizza {
} }
public static EnumMap<PizzaStatusEnum, List<Pizza>> groupPizzaByStatus(List<Pizza> pzList) { public static EnumMap<PizzaStatusEnum, List<Pizza>> groupPizzaByStatus(List<Pizza> pzList) {
return pzList.stream().collect( return pzList.stream().collect(Collectors.groupingBy(Pizza::getStatus, () -> new EnumMap<>(PizzaStatusEnum.class), Collectors.toList()));
Collectors.groupingBy(Pizza::getStatus,
() -> new EnumMap<>(PizzaStatusEnum.class), Collectors.toList()));
} }
public void deliver() { public void deliver() {

View File

@ -1,6 +1,5 @@
package com.baeldung.enums; package com.baeldung.enums;
public enum PizzaDeliverySystemConfiguration { public enum PizzaDeliverySystemConfiguration {
INSTANCE; INSTANCE;

View File

@ -30,8 +30,7 @@ public class CustomRecursiveAction extends RecursiveAction {
private Collection<CustomRecursiveAction> createSubtasks() { private Collection<CustomRecursiveAction> createSubtasks() {
List<CustomRecursiveAction> subtasks = List<CustomRecursiveAction> subtasks = new ArrayList<>();
new ArrayList<>();
String partOne = workLoad.substring(0, workLoad.length() / 2); String partOne = workLoad.substring(0, workLoad.length() / 2);
String partTwo = workLoad.substring(workLoad.length() / 2, workLoad.length()); String partTwo = workLoad.substring(workLoad.length() / 2, workLoad.length());

View File

@ -1,6 +1,5 @@
package com.baeldung.forkjoin; package com.baeldung.forkjoin;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
@ -23,10 +22,7 @@ public class CustomRecursiveTask extends RecursiveTask<Integer> {
if (arr.length > THRESHOLD) { if (arr.length > THRESHOLD) {
return ForkJoinTask.invokeAll(createSubtasks()) return ForkJoinTask.invokeAll(createSubtasks()).stream().mapToInt(ForkJoinTask::join).sum();
.stream()
.mapToInt(ForkJoinTask::join)
.sum();
} else { } else {
return processing(arr); return processing(arr);
@ -35,17 +31,12 @@ public class CustomRecursiveTask extends RecursiveTask<Integer> {
private Collection<CustomRecursiveTask> createSubtasks() { private Collection<CustomRecursiveTask> createSubtasks() {
List<CustomRecursiveTask> dividedTasks = new ArrayList<>(); List<CustomRecursiveTask> dividedTasks = new ArrayList<>();
dividedTasks.add(new CustomRecursiveTask( dividedTasks.add(new CustomRecursiveTask(Arrays.copyOfRange(arr, 0, arr.length / 2)));
Arrays.copyOfRange(arr, 0, arr.length / 2))); dividedTasks.add(new CustomRecursiveTask(Arrays.copyOfRange(arr, arr.length / 2, arr.length)));
dividedTasks.add(new CustomRecursiveTask(
Arrays.copyOfRange(arr, arr.length / 2, arr.length)));
return dividedTasks; return dividedTasks;
} }
private Integer processing(int[] arr) { private Integer processing(int[] arr) {
return Arrays.stream(arr) return Arrays.stream(arr).filter(a -> a > 10 && a < 27).map(a -> a * 10).sum();
.filter(a -> a > 10 && a < 27)
.map(a -> a * 10)
.sum();
} }
} }

View File

@ -1,6 +1,5 @@
package com.baeldung.forkjoin.util; package com.baeldung.forkjoin.util;
import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinPool;
public class PoolUtil { public class PoolUtil {

View File

@ -9,7 +9,7 @@ public interface Vehicle {
} }
default long[] startPosition() { default long[] startPosition() {
return new long[]{23, 15}; return new long[] { 23, 15 };
} }
default String getOverview() { default String getOverview() {

View File

@ -4,6 +4,6 @@ public class VehicleImpl implements Vehicle {
@Override @Override
public void moveTo(long altitude, long longitude) { public void moveTo(long altitude, long longitude) {
//do nothing // do nothing
} }
} }

View File

@ -12,8 +12,7 @@ public class EchoClient {
try { try {
clientSocket = new Socket(ip, port); clientSocket = new Socket(ip, port);
out = new PrintWriter(clientSocket.getOutputStream(), true); out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader( in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
clientSocket.getInputStream()));
} catch (IOException e) { } catch (IOException e) {
System.out.print(e); System.out.print(e);
} }

View File

@ -42,8 +42,7 @@ public class EchoMultiServer {
public void run() { public void run() {
try { try {
out = new PrintWriter(clientSocket.getOutputStream(), true); out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader( in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
clientSocket.getInputStream()));
String inputLine; String inputLine;
while ((inputLine = in.readLine()) != null) { while ((inputLine = in.readLine()) != null) {
if (".".equals(inputLine)) { if (".".equals(inputLine)) {

View File

@ -14,8 +14,7 @@ public class EchoServer {
serverSocket = new ServerSocket(port); serverSocket = new ServerSocket(port);
clientSocket = serverSocket.accept(); clientSocket = serverSocket.accept();
out = new PrintWriter(clientSocket.getOutputStream(), true); out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader( in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
clientSocket.getInputStream()));
String inputLine; String inputLine;
while ((inputLine = in.readLine()) != null) { while ((inputLine = in.readLine()) != null) {
if (".".equals(inputLine)) { if (".".equals(inputLine)) {

View File

@ -15,8 +15,7 @@ public class GreetClient {
try { try {
clientSocket = new Socket(ip, port); clientSocket = new Socket(ip, port);
out = new PrintWriter(clientSocket.getOutputStream(), true); out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader( in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
clientSocket.getInputStream()));
} catch (IOException e) { } catch (IOException e) {
} }

View File

@ -9,14 +9,12 @@ public class GreetServer {
private PrintWriter out; private PrintWriter out;
private BufferedReader in; private BufferedReader in;
public void start(int port) { public void start(int port) {
try { try {
serverSocket = new ServerSocket(port); serverSocket = new ServerSocket(port);
clientSocket = serverSocket.accept(); clientSocket = serverSocket.accept();
out = new PrintWriter(clientSocket.getOutputStream(), true); out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader( in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
clientSocket.getInputStream()));
String greeting = in.readLine(); String greeting = in.readLine();
if ("hello server".equals(greeting)) if ("hello server".equals(greeting))
out.println("hello client"); out.println("hello client");
@ -39,8 +37,9 @@ public class GreetServer {
} }
} }
public static void main(String[] args) { public static void main(String[] args) {
GreetServer server=new GreetServer(); GreetServer server = new GreetServer();
server.start(6666); server.start(6666);
} }

View File

@ -44,7 +44,6 @@ public class Product {
this.name = name; this.name = name;
} }
public static Stream<String> streamOf(List<String> list) { public static Stream<String> streamOf(List<String> list) {
return (list == null || list.isEmpty()) ? Stream.empty() : list.stream(); return (list == null || list.isEmpty()) ? Stream.empty() : list.stream();
} }

View File

@ -14,9 +14,7 @@ public class CountingTask extends RecursiveTask<Integer> {
@Override @Override
protected Integer compute() { protected Integer compute() {
return node.value + node.children.stream() return node.value + node.children.stream().map(childNode -> new CountingTask(childNode).fork()).collect(Collectors.summingInt(ForkJoinTask::join));
.map(childNode -> new CountingTask(childNode).fork())
.collect(Collectors.summingInt(ForkJoinTask::join));
} }
} }

View File

@ -7,7 +7,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class CharToStringTest { public class CharToStringTest {
@Test @Test
public void givenChar_whenCallingStringValueOf_shouldConvertToString(){ public void givenChar_whenCallingStringValueOf_shouldConvertToString() {
final char givenChar = 'x'; final char givenChar = 'x';
final String result = String.valueOf(givenChar); final String result = String.valueOf(givenChar);
@ -16,7 +16,7 @@ public class CharToStringTest {
} }
@Test @Test
public void givenChar_whenCallingToStringOnCharacter_shouldConvertToString(){ public void givenChar_whenCallingToStringOnCharacter_shouldConvertToString() {
final char givenChar = 'x'; final char givenChar = 'x';
final String result = Character.toString(givenChar); final String result = Character.toString(givenChar);
@ -25,7 +25,7 @@ public class CharToStringTest {
} }
@Test @Test
public void givenChar_whenCallingCharacterConstructor_shouldConvertToString3(){ public void givenChar_whenCallingCharacterConstructor_shouldConvertToString3() {
final char givenChar = 'x'; final char givenChar = 'x';
final String result = new Character(givenChar).toString(); final String result = new Character(givenChar).toString();
@ -34,7 +34,7 @@ public class CharToStringTest {
} }
@Test @Test
public void givenChar_whenConcatenated_shouldConvertToString4(){ public void givenChar_whenConcatenated_shouldConvertToString4() {
final char givenChar = 'x'; final char givenChar = 'x';
final String result = givenChar + ""; final String result = givenChar + "";
@ -43,7 +43,7 @@ public class CharToStringTest {
} }
@Test @Test
public void givenChar_whenFormated_shouldConvertToString5(){ public void givenChar_whenFormated_shouldConvertToString5() {
final char givenChar = 'x'; final char givenChar = 'x';
final String result = String.format("%c", givenChar); final String result = String.format("%c", givenChar);

View File

@ -6,7 +6,7 @@ import org.junit.Test;
import java.util.*; import java.util.*;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;
public class RandomListElementTest { public class RandomListElementUnitTest {
@Test @Test
public void givenList_whenRandomIndexChosen_shouldReturnARandomElementUsingRandom() { public void givenList_whenRandomIndexChosen_shouldReturnARandomElementUsingRandom() {
@ -20,7 +20,7 @@ public class RandomListElementTest {
public void givenList_whenRandomIndexChosen_shouldReturnARandomElementUsingMathRandom() { public void givenList_whenRandomIndexChosen_shouldReturnARandomElementUsingMathRandom() {
List<Integer> givenList = Lists.newArrayList(1, 2, 3); List<Integer> givenList = Lists.newArrayList(1, 2, 3);
givenList.get((int)(Math.random() * givenList.size())); givenList.get((int) (Math.random() * givenList.size()));
} }
@Test @Test

View File

@ -1,11 +1,12 @@
package com.baeldung; package com.baeldung;
import com.google.common.primitives.Ints;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
public class StringToIntOrIntegerTest { import org.junit.Test;
import com.google.common.primitives.Ints;
public class StringToIntOrIntegerUnitTest {
@Test @Test
public void givenString_whenParsingInt_shouldConvertToInt() { public void givenString_whenParsingInt_shouldConvertToInt() {
@ -16,7 +17,6 @@ public class StringToIntOrIntegerTest {
assertThat(result).isEqualTo(42); assertThat(result).isEqualTo(42);
} }
@Test @Test
public void givenString_whenCallingIntegerValueOf_shouldConvertToInt() { public void givenString_whenCallingIntegerValueOf_shouldConvertToInt() {
String givenString = "42"; String givenString = "42";

View File

@ -42,192 +42,137 @@ public class Java8CollectorsTest {
@Test @Test
public void whenCollectingToList_shouldCollectToList() throws Exception { public void whenCollectingToList_shouldCollectToList() throws Exception {
final List<String> result = givenList.stream() final List<String> result = givenList.stream().collect(toList());
.collect(toList());
assertThat(result) assertThat(result).containsAll(givenList);
.containsAll(givenList);
} }
@Test @Test
public void whenCollectingToList_shouldCollectToSet() throws Exception { public void whenCollectingToList_shouldCollectToSet() throws Exception {
final Set<String> result = givenList.stream() final Set<String> result = givenList.stream().collect(toSet());
.collect(toSet());
assertThat(result) assertThat(result).containsAll(givenList);
.containsAll(givenList);
} }
@Test @Test
public void whenCollectingToCollection_shouldCollectToCollection() throws Exception { public void whenCollectingToCollection_shouldCollectToCollection() throws Exception {
final List<String> result = givenList.stream() final List<String> result = givenList.stream().collect(toCollection(LinkedList::new));
.collect(toCollection(LinkedList::new));
assertThat(result) assertThat(result).containsAll(givenList).isInstanceOf(LinkedList.class);
.containsAll(givenList)
.isInstanceOf(LinkedList.class);
} }
@Test @Test
public void whenCollectingToImmutableCollection_shouldThrowException() throws Exception { public void whenCollectingToImmutableCollection_shouldThrowException() throws Exception {
assertThatThrownBy(() -> { assertThatThrownBy(() -> {
givenList.stream() givenList.stream().collect(toCollection(ImmutableList::of));
.collect(toCollection(ImmutableList::of));
}).isInstanceOf(UnsupportedOperationException.class); }).isInstanceOf(UnsupportedOperationException.class);
} }
@Test @Test
public void whenCollectingToMap_shouldCollectToMap() throws Exception { public void whenCollectingToMap_shouldCollectToMap() throws Exception {
final Map<String, Integer> result = givenList.stream() final Map<String, Integer> result = givenList.stream().collect(toMap(Function.identity(), String::length));
.collect(toMap(Function.identity(), String::length));
assertThat(result) assertThat(result).containsEntry("a", 1).containsEntry("bb", 2).containsEntry("ccc", 3).containsEntry("dd", 2);
.containsEntry("a", 1)
.containsEntry("bb", 2)
.containsEntry("ccc", 3)
.containsEntry("dd", 2);
} }
@Test @Test
public void whenCollectingToMap_shouldCollectToMapMerging() throws Exception { public void whenCollectingToMap_shouldCollectToMapMerging() throws Exception {
final Map<String, Integer> result = givenList.stream() final Map<String, Integer> result = givenList.stream().collect(toMap(Function.identity(), String::length, (i1, i2) -> i1));
.collect(toMap(Function.identity(), String::length, (i1, i2) -> i1));
assertThat(result) assertThat(result).containsEntry("a", 1).containsEntry("bb", 2).containsEntry("ccc", 3).containsEntry("dd", 2);
.containsEntry("a", 1)
.containsEntry("bb", 2)
.containsEntry("ccc", 3)
.containsEntry("dd", 2);
} }
@Test @Test
public void whenCollectingAndThen_shouldCollect() throws Exception { public void whenCollectingAndThen_shouldCollect() throws Exception {
final List<String> result = givenList.stream() final List<String> result = givenList.stream().collect(collectingAndThen(toList(), ImmutableList::copyOf));
.collect(collectingAndThen(toList(), ImmutableList::copyOf));
assertThat(result) assertThat(result).containsAll(givenList).isInstanceOf(ImmutableList.class);
.containsAll(givenList)
.isInstanceOf(ImmutableList.class);
} }
@Test @Test
public void whenJoining_shouldJoin() throws Exception { public void whenJoining_shouldJoin() throws Exception {
final String result = givenList.stream() final String result = givenList.stream().collect(joining());
.collect(joining());
assertThat(result) assertThat(result).isEqualTo("abbcccdd");
.isEqualTo("abbcccdd");
} }
@Test @Test
public void whenJoiningWithSeparator_shouldJoinWithSeparator() throws Exception { public void whenJoiningWithSeparator_shouldJoinWithSeparator() throws Exception {
final String result = givenList.stream() final String result = givenList.stream().collect(joining(" "));
.collect(joining(" "));
assertThat(result) assertThat(result).isEqualTo("a bb ccc dd");
.isEqualTo("a bb ccc dd");
} }
@Test @Test
public void whenJoiningWithSeparatorAndPrefixAndPostfix_shouldJoinWithSeparatorPrePost() throws Exception { public void whenJoiningWithSeparatorAndPrefixAndPostfix_shouldJoinWithSeparatorPrePost() throws Exception {
final String result = givenList.stream() final String result = givenList.stream().collect(joining(" ", "PRE-", "-POST"));
.collect(joining(" ", "PRE-", "-POST"));
assertThat(result) assertThat(result).isEqualTo("PRE-a bb ccc dd-POST");
.isEqualTo("PRE-a bb ccc dd-POST");
} }
@Test @Test
public void whenPartitioningBy_shouldPartition() throws Exception { public void whenPartitioningBy_shouldPartition() throws Exception {
final Map<Boolean, List<String>> result = givenList.stream() final Map<Boolean, List<String>> result = givenList.stream().collect(partitioningBy(s -> s.length() > 2));
.collect(partitioningBy(s -> s.length() > 2));
assertThat(result) assertThat(result).containsKeys(true, false).satisfies(booleanListMap -> {
.containsKeys(true, false) assertThat(booleanListMap.get(true)).contains("ccc");
.satisfies(booleanListMap -> {
assertThat(booleanListMap.get(true))
.contains("ccc");
assertThat(booleanListMap.get(false)) assertThat(booleanListMap.get(false)).contains("a", "bb", "dd");
.contains("a", "bb", "dd");
}); });
} }
@Test @Test
public void whenCounting_shouldCount() throws Exception { public void whenCounting_shouldCount() throws Exception {
final Long result = givenList.stream() final Long result = givenList.stream().collect(counting());
.collect(counting());
assertThat(result) assertThat(result).isEqualTo(4);
.isEqualTo(4);
} }
@Test @Test
public void whenSummarizing_shouldSummarize() throws Exception { public void whenSummarizing_shouldSummarize() throws Exception {
final DoubleSummaryStatistics result = givenList.stream() final DoubleSummaryStatistics result = givenList.stream().collect(summarizingDouble(String::length));
.collect(summarizingDouble(String::length));
assertThat(result.getAverage()) assertThat(result.getAverage()).isEqualTo(2);
.isEqualTo(2); assertThat(result.getCount()).isEqualTo(4);
assertThat(result.getCount()) assertThat(result.getMax()).isEqualTo(3);
.isEqualTo(4); assertThat(result.getMin()).isEqualTo(1);
assertThat(result.getMax()) assertThat(result.getSum()).isEqualTo(8);
.isEqualTo(3);
assertThat(result.getMin())
.isEqualTo(1);
assertThat(result.getSum())
.isEqualTo(8);
} }
@Test @Test
public void whenAveraging_shouldAverage() throws Exception { public void whenAveraging_shouldAverage() throws Exception {
final Double result = givenList.stream() final Double result = givenList.stream().collect(averagingDouble(String::length));
.collect(averagingDouble(String::length));
assertThat(result) assertThat(result).isEqualTo(2);
.isEqualTo(2);
} }
@Test @Test
public void whenSumming_shouldSum() throws Exception { public void whenSumming_shouldSum() throws Exception {
final Double result = givenList.stream() final Double result = givenList.stream().collect(summingDouble(String::length));
.collect(summingDouble(String::length));
assertThat(result) assertThat(result).isEqualTo(8);
.isEqualTo(8);
} }
@Test @Test
public void whenMaxingBy_shouldMaxBy() throws Exception { public void whenMaxingBy_shouldMaxBy() throws Exception {
final Optional<String> result = givenList.stream() final Optional<String> result = givenList.stream().collect(maxBy(Comparator.naturalOrder()));
.collect(maxBy(Comparator.naturalOrder()));
assertThat(result) assertThat(result).isPresent().hasValue("dd");
.isPresent()
.hasValue("dd");
} }
@Test @Test
public void whenGroupingBy_shouldGroupBy() throws Exception { public void whenGroupingBy_shouldGroupBy() throws Exception {
final Map<Integer, Set<String>> result = givenList.stream() final Map<Integer, Set<String>> result = givenList.stream().collect(groupingBy(String::length, toSet()));
.collect(groupingBy(String::length, toSet()));
assertThat(result) assertThat(result).containsEntry(1, newHashSet("a")).containsEntry(2, newHashSet("bb", "dd")).containsEntry(3, newHashSet("ccc"));
.containsEntry(1, newHashSet("a"))
.containsEntry(2, newHashSet("bb", "dd"))
.containsEntry(3, newHashSet("ccc"));
} }
@Test @Test
public void whenCreatingCustomCollector_shouldCollect() throws Exception { public void whenCreatingCustomCollector_shouldCollect() throws Exception {
final ImmutableSet<String> result = givenList.stream() final ImmutableSet<String> result = givenList.stream().collect(toImmutableSet());
.collect(toImmutableSet());
assertThat(result) assertThat(result).isInstanceOf(ImmutableSet.class).contains("a", "bb", "ccc", "dd");
.isInstanceOf(ImmutableSet.class)
.contains("a", "bb", "ccc", "dd");
} }

View File

@ -43,7 +43,6 @@ public class CompletableFutureTest {
} }
public Future<String> calculateAsyncWithCancellation() throws InterruptedException { public Future<String> calculateAsyncWithCancellation() throws InterruptedException {
CompletableFuture<String> completableFuture = new CompletableFuture<>(); CompletableFuture<String> completableFuture = new CompletableFuture<>();
@ -56,7 +55,6 @@ public class CompletableFutureTest {
return completableFuture; return completableFuture;
} }
@Test(expected = CancellationException.class) @Test(expected = CancellationException.class)
public void whenCancelingTheFuture_thenThrowsCancellationException() throws ExecutionException, InterruptedException { public void whenCancelingTheFuture_thenThrowsCancellationException() throws ExecutionException, InterruptedException {
@ -110,8 +108,7 @@ public class CompletableFutureTest {
@Test @Test
public void whenUsingThenCompose_thenFuturesExecuteSequentially() throws ExecutionException, InterruptedException { public void whenUsingThenCompose_thenFuturesExecuteSequentially() throws ExecutionException, InterruptedException {
CompletableFuture<String> completableFuture = CompletableFuture.supplyAsync(() -> "Hello") CompletableFuture<String> completableFuture = CompletableFuture.supplyAsync(() -> "Hello").thenCompose(s -> CompletableFuture.supplyAsync(() -> s + " World"));
.thenCompose(s -> CompletableFuture.supplyAsync(() -> s + " World"));
assertEquals("Hello World", completableFuture.get()); assertEquals("Hello World", completableFuture.get());
@ -120,9 +117,7 @@ public class CompletableFutureTest {
@Test @Test
public void whenUsingThenCombine_thenWaitForExecutionOfBothFutures() throws ExecutionException, InterruptedException { public void whenUsingThenCombine_thenWaitForExecutionOfBothFutures() throws ExecutionException, InterruptedException {
CompletableFuture<String> completableFuture = CompletableFuture.supplyAsync(() -> "Hello") CompletableFuture<String> completableFuture = CompletableFuture.supplyAsync(() -> "Hello").thenCombine(CompletableFuture.supplyAsync(() -> " World"), (s1, s2) -> s1 + s2);
.thenCombine(CompletableFuture.supplyAsync(() -> " World"),
(s1, s2) -> s1 + s2);
assertEquals("Hello World", completableFuture.get()); assertEquals("Hello World", completableFuture.get());
@ -131,9 +126,7 @@ public class CompletableFutureTest {
@Test @Test
public void whenUsingThenAcceptBoth_thenWaitForExecutionOfBothFutures() throws ExecutionException, InterruptedException { public void whenUsingThenAcceptBoth_thenWaitForExecutionOfBothFutures() throws ExecutionException, InterruptedException {
CompletableFuture.supplyAsync(() -> "Hello") CompletableFuture.supplyAsync(() -> "Hello").thenAcceptBoth(CompletableFuture.supplyAsync(() -> " World"), (s1, s2) -> System.out.println(s1 + s2));
.thenAcceptBoth(CompletableFuture.supplyAsync(() -> " World"),
(s1, s2) -> System.out.println(s1 + s2));
} }
@ -154,9 +147,7 @@ public class CompletableFutureTest {
assertTrue(future2.isDone()); assertTrue(future2.isDone());
assertTrue(future3.isDone()); assertTrue(future3.isDone());
String combined = Stream.of(future1, future2, future3) String combined = Stream.of(future1, future2, future3).map(CompletableFuture::join).collect(Collectors.joining(" "));
.map(CompletableFuture::join)
.collect(Collectors.joining(" "));
assertEquals("Hello Beautiful World", combined); assertEquals("Hello Beautiful World", combined);

View File

@ -14,7 +14,7 @@ import java.time.temporal.ChronoUnit;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
public class JavaUtilTimeTest { public class JavaUtilTimeUnitTest {
@Test @Test
public void currentTime() { public void currentTime() {

View File

@ -1,7 +1,8 @@
package com.baeldung.functionalinterface; package com.baeldung.functionalinterface;
import com.google.common.util.concurrent.Uninterruptibles; import static org.junit.Assert.assertArrayEquals;
import org.junit.Test; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@ -13,54 +14,43 @@ import java.util.function.Supplier;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import static org.junit.Assert.*; import org.junit.Test;
public class FunctionalInterfaceTest { import com.google.common.util.concurrent.Uninterruptibles;
public class FunctionalInterfaceUnitTest {
@Test @Test
public void whenPassingLambdaToComputeIfAbsent_thenTheValueGetsComputedAndPutIntoMap() { public void whenPassingLambdaToComputeIfAbsent_thenTheValueGetsComputedAndPutIntoMap() {
Map<String, Integer> nameMap = new HashMap<>(); Map<String, Integer> nameMap = new HashMap<>();
Integer value = nameMap.computeIfAbsent("John", s -> s.length()); Integer value = nameMap.computeIfAbsent("John", s -> s.length());
assertEquals(new Integer(4), nameMap.get("John")); assertEquals(new Integer(4), nameMap.get("John"));
assertEquals(new Integer(4), value); assertEquals(new Integer(4), value);
} }
@Test @Test
public void whenPassingMethodReferenceToComputeIfAbsent_thenTheValueGetsComputedAndPutIntoMap() { public void whenPassingMethodReferenceToComputeIfAbsent_thenTheValueGetsComputedAndPutIntoMap() {
Map<String, Integer> nameMap = new HashMap<>(); Map<String, Integer> nameMap = new HashMap<>();
Integer value = nameMap.computeIfAbsent("John", String::length); Integer value = nameMap.computeIfAbsent("John", String::length);
assertEquals(new Integer(4), nameMap.get("John")); assertEquals(new Integer(4), nameMap.get("John"));
assertEquals(new Integer(4), value); assertEquals(new Integer(4), value);
}
public byte[] transformArray(short[] array, ShortToByteFunction function) {
byte[] transformedArray = new byte[array.length];
for (int i = 0; i < array.length; i++) {
transformedArray[i] = function.applyAsByte(array[i]);
}
return transformedArray;
} }
@Test @Test
public void whenUsingCustomFunctionalInterfaceForPrimitives_thenCanUseItAsLambda() { public void whenUsingCustomFunctionalInterfaceForPrimitives_thenCanUseItAsLambda() {
short[] array = {(short) 1, (short) 2, (short) 3}; short[] array = { (short) 1, (short) 2, (short) 3 };
byte[] transformedArray = transformArray(array, s -> (byte) (s * 2)); byte[] transformedArray = transformArray(array, s -> (byte) (s * 2));
byte[] expectedArray = {(byte) 2, (byte) 4, (byte) 6}; byte[] expectedArray = { (byte) 2, (byte) 4, (byte) 6 };
assertArrayEquals(expectedArray, transformedArray); assertArrayEquals(expectedArray, transformedArray);
} }
@Test @Test
public void whenUsingBiFunction_thenCanUseItToReplaceMapValues() { public void whenUsingBiFunction_thenCanUseItToReplaceMapValues() {
Map<String, Integer> salaries = new HashMap<>(); Map<String, Integer> salaries = new HashMap<>();
salaries.put("John", 40000); salaries.put("John", 40000);
salaries.put("Freddy", 30000); salaries.put("Freddy", 30000);
@ -71,22 +61,18 @@ public class FunctionalInterfaceTest {
assertEquals(new Integer(50000), salaries.get("John")); assertEquals(new Integer(50000), salaries.get("John"));
assertEquals(new Integer(30000), salaries.get("Freddy")); assertEquals(new Integer(30000), salaries.get("Freddy"));
assertEquals(new Integer(60000), salaries.get("Samuel")); assertEquals(new Integer(60000), salaries.get("Samuel"));
} }
@Test @Test
public void whenPassingLambdaToThreadConstructor_thenLambdaInferredToRunnable() { public void whenPassingLambdaToThreadConstructor_thenLambdaInferredToRunnable() {
Thread thread = new Thread(() -> System.out.println("Hello From Another Thread")); Thread thread = new Thread(() -> System.out.println("Hello From Another Thread"));
thread.start(); thread.start();
} }
@Test @Test
public void whenUsingSupplierToGenerateNumbers_thenCanUseItInStreamGenerate() { public void whenUsingSupplierToGenerateNumbers_thenCanUseItInStreamGenerate() {
int[] fibs = {0, 1}; int[] fibs = { 0, 1 };
Stream<Integer> fibonacci = Stream.generate(() -> { Stream<Integer> fibonacci = Stream.generate(() -> {
int result = fibs[1]; int result = fibs[1];
int fib3 = fibs[0] + fibs[1]; int fib3 = fibs[0] + fibs[1];
@ -95,55 +81,44 @@ public class FunctionalInterfaceTest {
return result; return result;
}); });
List<Integer> fibonacci5 = fibonacci.limit(5) List<Integer> fibonacci5 = fibonacci.limit(5).collect(Collectors.toList());
.collect(Collectors.toList());
assertEquals(new Integer(1), fibonacci5.get(0)); assertEquals(new Integer(1), fibonacci5.get(0));
assertEquals(new Integer(1), fibonacci5.get(1)); assertEquals(new Integer(1), fibonacci5.get(1));
assertEquals(new Integer(2), fibonacci5.get(2)); assertEquals(new Integer(2), fibonacci5.get(2));
assertEquals(new Integer(3), fibonacci5.get(3)); assertEquals(new Integer(3), fibonacci5.get(3));
assertEquals(new Integer(5), fibonacci5.get(4)); assertEquals(new Integer(5), fibonacci5.get(4));
} }
@Test @Test
public void whenUsingConsumerInForEach_thenConsumerExecutesForEachListElement() { public void whenUsingConsumerInForEach_thenConsumerExecutesForEachListElement() {
List<String> names = Arrays.asList("John", "Freddy", "Samuel"); List<String> names = Arrays.asList("John", "Freddy", "Samuel");
names.forEach(name -> System.out.println("Hello, " + name)); names.forEach(name -> System.out.println("Hello, " + name));
} }
@Test @Test
public void whenUsingBiConsumerInForEach_thenConsumerExecutesForEachMapElement() { public void whenUsingBiConsumerInForEach_thenConsumerExecutesForEachMapElement() {
Map<String, Integer> ages = new HashMap<>(); Map<String, Integer> ages = new HashMap<>();
ages.put("John", 25); ages.put("John", 25);
ages.put("Freddy", 24); ages.put("Freddy", 24);
ages.put("Samuel", 30); ages.put("Samuel", 30);
ages.forEach((name, age) -> System.out.println(name + " is " + age + " years old")); ages.forEach((name, age) -> System.out.println(name + " is " + age + " years old"));
} }
@Test @Test
public void whenUsingPredicateInFilter_thenListValuesAreFilteredOut() { public void whenUsingPredicateInFilter_thenListValuesAreFilteredOut() {
List<String> names = Arrays.asList("Angela", "Aaron", "Bob", "Claire", "David"); List<String> names = Arrays.asList("Angela", "Aaron", "Bob", "Claire", "David");
List<String> namesWithA = names.stream() List<String> namesWithA = names.stream().filter(name -> name.startsWith("A")).collect(Collectors.toList());
.filter(name -> name.startsWith("A"))
.collect(Collectors.toList());
assertEquals(2, namesWithA.size()); assertEquals(2, namesWithA.size());
assertTrue(namesWithA.contains("Angela")); assertTrue(namesWithA.contains("Angela"));
assertTrue(namesWithA.contains("Aaron")); assertTrue(namesWithA.contains("Aaron"));
} }
@Test @Test
public void whenUsingUnaryOperatorWithReplaceAll_thenAllValuesInTheListAreReplaced() { public void whenUsingUnaryOperatorWithReplaceAll_thenAllValuesInTheListAreReplaced() {
List<String> names = Arrays.asList("bob", "josh", "megan"); List<String> names = Arrays.asList("bob", "josh", "megan");
names.replaceAll(String::toUpperCase); names.replaceAll(String::toUpperCase);
@ -151,7 +126,6 @@ public class FunctionalInterfaceTest {
assertEquals("BOB", names.get(0)); assertEquals("BOB", names.get(0));
assertEquals("JOSH", names.get(1)); assertEquals("JOSH", names.get(1));
assertEquals("MEGAN", names.get(2)); assertEquals("MEGAN", names.get(2));
} }
@Test @Test
@ -159,8 +133,7 @@ public class FunctionalInterfaceTest {
List<Integer> values = Arrays.asList(3, 5, 8, 9, 12); List<Integer> values = Arrays.asList(3, 5, 8, 9, 12);
int sum = values.stream() int sum = values.stream().reduce(0, (i1, i2) -> i1 + i2);
.reduce(0, (i1, i2) -> i1 + i2);
assertEquals(37, sum); assertEquals(37, sum);
@ -178,10 +151,6 @@ public class FunctionalInterfaceTest {
} }
public double squareLazy(Supplier<Double> lazyValue) {
return Math.pow(lazyValue.get(), 2);
}
@Test @Test
public void whenUsingSupplierToGenerateValue_thenValueIsGeneratedLazily() { public void whenUsingSupplierToGenerateValue_thenValueIsGeneratedLazily() {
@ -196,4 +165,18 @@ public class FunctionalInterfaceTest {
} }
//
public double squareLazy(Supplier<Double> lazyValue) {
return Math.pow(lazyValue.get(), 2);
}
public byte[] transformArray(short[] array, ShortToByteFunction function) {
byte[] transformedArray = new byte[array.length];
for (int i = 0; i < array.length; i++) {
transformedArray[i] = function.applyAsByte(array[i]);
}
return transformedArray;
}
} }

View File

@ -11,7 +11,7 @@ import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import static org.junit.Assert.*; import static org.junit.Assert.*;
public class ReflectionTest { public class ReflectionUnitTest {
@Test @Test
public void givenObject_whenGetsFieldNamesAtRuntime_thenCorrect() { public void givenObject_whenGetsFieldNamesAtRuntime_thenCorrect() {
@ -20,8 +20,7 @@ public class ReflectionTest {
List<String> actualFieldNames = getFieldNames(fields); List<String> actualFieldNames = getFieldNames(fields);
assertTrue(Arrays.asList("name", "age") assertTrue(Arrays.asList("name", "age").containsAll(actualFieldNames));
.containsAll(actualFieldNames));
} }
@Test @Test
@ -35,8 +34,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClassName_whenCreatesObject_thenCorrect() public void givenClassName_whenCreatesObject_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> clazz = Class.forName("com.baeldung.java.reflection.Goat"); Class<?> clazz = Class.forName("com.baeldung.java.reflection.Goat");
assertEquals("Goat", clazz.getSimpleName()); assertEquals("Goat", clazz.getSimpleName());
@ -45,8 +43,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenRecognisesModifiers_thenCorrect() public void givenClass_whenRecognisesModifiers_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> goatClass = Class.forName("com.baeldung.java.reflection.Goat"); Class<?> goatClass = Class.forName("com.baeldung.java.reflection.Goat");
Class<?> animalClass = Class.forName("com.baeldung.java.reflection.Animal"); Class<?> animalClass = Class.forName("com.baeldung.java.reflection.Animal");
int goatMods = goatClass.getModifiers(); int goatMods = goatClass.getModifiers();
@ -80,8 +77,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsImplementedInterfaces_thenCorrect() public void givenClass_whenGetsImplementedInterfaces_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> goatClass = Class.forName("com.baeldung.java.reflection.Goat"); Class<?> goatClass = Class.forName("com.baeldung.java.reflection.Goat");
Class<?> animalClass = Class.forName("com.baeldung.java.reflection.Animal"); Class<?> animalClass = Class.forName("com.baeldung.java.reflection.Animal");
Class<?>[] goatInterfaces = goatClass.getInterfaces(); Class<?>[] goatInterfaces = goatClass.getInterfaces();
@ -94,8 +90,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsConstructor_thenCorrect() public void givenClass_whenGetsConstructor_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> goatClass = Class.forName("com.baeldung.java.reflection.Goat"); Class<?> goatClass = Class.forName("com.baeldung.java.reflection.Goat");
Constructor<?>[] constructors = goatClass.getConstructors(); Constructor<?>[] constructors = goatClass.getConstructors();
@ -104,8 +99,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsFields_thenCorrect() public void givenClass_whenGetsFields_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> animalClass = Class.forName("com.baeldung.java.reflection.Animal"); Class<?> animalClass = Class.forName("com.baeldung.java.reflection.Animal");
Field[] fields = animalClass.getDeclaredFields(); Field[] fields = animalClass.getDeclaredFields();
@ -116,20 +110,17 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsMethods_thenCorrect() public void givenClass_whenGetsMethods_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> animalClass = Class.forName("com.baeldung.java.reflection.Animal"); Class<?> animalClass = Class.forName("com.baeldung.java.reflection.Animal");
Method[] methods = animalClass.getDeclaredMethods(); Method[] methods = animalClass.getDeclaredMethods();
List<String> actualMethods = getMethodNames(methods); List<String> actualMethods = getMethodNames(methods);
assertEquals(4, actualMethods.size()); assertEquals(4, actualMethods.size());
assertTrue(actualMethods.containsAll(Arrays.asList("getName", assertTrue(actualMethods.containsAll(Arrays.asList("getName", "setName", "getSound")));
"setName", "getSound")));
} }
@Test @Test
public void givenClass_whenGetsAllConstructors_thenCorrect() public void givenClass_whenGetsAllConstructors_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Constructor<?>[] constructors = birdClass.getConstructors(); Constructor<?>[] constructors = birdClass.getConstructors();
@ -137,24 +128,20 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsEachConstructorByParamTypes_thenCorrect() public void givenClass_whenGetsEachConstructorByParamTypes_thenCorrect() throws Exception {
throws Exception {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Constructor<?> cons1 = birdClass.getConstructor(); Constructor<?> cons1 = birdClass.getConstructor();
Constructor<?> cons2 = birdClass.getConstructor(String.class); Constructor<?> cons2 = birdClass.getConstructor(String.class);
Constructor<?> cons3 = birdClass.getConstructor(String.class, Constructor<?> cons3 = birdClass.getConstructor(String.class, boolean.class);
boolean.class);
} }
@Test @Test
public void givenClass_whenInstantiatesObjectsAtRuntime_thenCorrect() public void givenClass_whenInstantiatesObjectsAtRuntime_thenCorrect() throws Exception {
throws Exception {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Constructor<?> cons1 = birdClass.getConstructor(); Constructor<?> cons1 = birdClass.getConstructor();
Constructor<?> cons2 = birdClass.getConstructor(String.class); Constructor<?> cons2 = birdClass.getConstructor(String.class);
Constructor<?> cons3 = birdClass.getConstructor(String.class, Constructor<?> cons3 = birdClass.getConstructor(String.class, boolean.class);
boolean.class);
Bird bird1 = (Bird) cons1.newInstance(); Bird bird1 = (Bird) cons1.newInstance();
Bird bird2 = (Bird) cons2.newInstance("Weaver bird"); Bird bird2 = (Bird) cons2.newInstance("Weaver bird");
@ -168,8 +155,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsPublicFields_thenCorrect() public void givenClass_whenGetsPublicFields_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Field[] fields = birdClass.getFields(); Field[] fields = birdClass.getFields();
assertEquals(1, fields.length); assertEquals(1, fields.length);
@ -178,8 +164,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsPublicFieldByName_thenCorrect() public void givenClass_whenGetsPublicFieldByName_thenCorrect() throws Exception {
throws Exception {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Field field = birdClass.getField("CATEGORY"); Field field = birdClass.getField("CATEGORY");
assertEquals("CATEGORY", field.getName()); assertEquals("CATEGORY", field.getName());
@ -187,8 +172,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsDeclaredFields_thenCorrect() public void givenClass_whenGetsDeclaredFields_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Field[] fields = birdClass.getDeclaredFields(); Field[] fields = birdClass.getDeclaredFields();
assertEquals(1, fields.length); assertEquals(1, fields.length);
@ -196,8 +180,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsFieldsByName_thenCorrect() public void givenClass_whenGetsFieldsByName_thenCorrect() throws Exception {
throws Exception {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Field field = birdClass.getDeclaredField("walks"); Field field = birdClass.getDeclaredField("walks");
assertEquals("walks", field.getName()); assertEquals("walks", field.getName());
@ -205,17 +188,14 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClassField_whenGetsType_thenCorrect() public void givenClassField_whenGetsType_thenCorrect() throws Exception {
throws Exception { Field field = Class.forName("com.baeldung.java.reflection.Bird").getDeclaredField("walks");
Field field = Class.forName("com.baeldung.java.reflection.Bird")
.getDeclaredField("walks");
Class<?> fieldClass = field.getType(); Class<?> fieldClass = field.getType();
assertEquals("boolean", fieldClass.getSimpleName()); assertEquals("boolean", fieldClass.getSimpleName());
} }
@Test @Test
public void givenClassField_whenSetsAndGetsValue_thenCorrect() public void givenClassField_whenSetsAndGetsValue_thenCorrect() throws Exception {
throws Exception {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Bird bird = (Bird) birdClass.newInstance(); Bird bird = (Bird) birdClass.newInstance();
Field field = birdClass.getDeclaredField("walks"); Field field = birdClass.getDeclaredField("walks");
@ -232,8 +212,7 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClassField_whenGetsAndSetsWithNull_thenCorrect() public void givenClassField_whenGetsAndSetsWithNull_thenCorrect() throws Exception {
throws Exception {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Field field = birdClass.getField("CATEGORY"); Field field = birdClass.getField("CATEGORY");
field.setAccessible(true); field.setAccessible(true);
@ -242,21 +221,17 @@ public class ReflectionTest {
} }
@Test @Test
public void givenClass_whenGetsAllPublicMethods_thenCorrect() public void givenClass_whenGetsAllPublicMethods_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Method[] methods = birdClass.getMethods(); Method[] methods = birdClass.getMethods();
List<String> methodNames = getMethodNames(methods); List<String> methodNames = getMethodNames(methods);
assertTrue(methodNames.containsAll(Arrays assertTrue(methodNames.containsAll(Arrays.asList("equals", "notifyAll", "hashCode", "walks", "eats", "toString")));
.asList("equals", "notifyAll", "hashCode",
"walks", "eats", "toString")));
} }
@Test @Test
public void givenClass_whenGetsOnlyDeclaredMethods_thenCorrect() public void givenClass_whenGetsOnlyDeclaredMethods_thenCorrect() throws ClassNotFoundException {
throws ClassNotFoundException {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
List<String> actualMethodNames = getMethodNames(birdClass.getDeclaredMethods()); List<String> actualMethodNames = getMethodNames(birdClass.getDeclaredMethods());
@ -269,12 +244,10 @@ public class ReflectionTest {
} }
@Test @Test
public void givenMethodName_whenGetsMethod_thenCorrect() public void givenMethodName_whenGetsMethod_thenCorrect() throws Exception {
throws Exception {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Method walksMethod = birdClass.getDeclaredMethod("walks"); Method walksMethod = birdClass.getDeclaredMethod("walks");
Method setWalksMethod = birdClass.getDeclaredMethod("setWalks", Method setWalksMethod = birdClass.getDeclaredMethod("setWalks", boolean.class);
boolean.class);
assertFalse(walksMethod.isAccessible()); assertFalse(walksMethod.isAccessible());
assertFalse(setWalksMethod.isAccessible()); assertFalse(setWalksMethod.isAccessible());
@ -288,12 +261,10 @@ public class ReflectionTest {
} }
@Test @Test
public void givenMethod_whenInvokes_thenCorrect() public void givenMethod_whenInvokes_thenCorrect() throws Exception {
throws Exception {
Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird"); Class<?> birdClass = Class.forName("com.baeldung.java.reflection.Bird");
Bird bird = (Bird) birdClass.newInstance(); Bird bird = (Bird) birdClass.newInstance();
Method setWalksMethod = birdClass.getDeclaredMethod("setWalks", Method setWalksMethod = birdClass.getDeclaredMethod("setWalks", boolean.class);
boolean.class);
Method walksMethod = birdClass.getDeclaredMethod("walks"); Method walksMethod = birdClass.getDeclaredMethod("walks");
boolean walks = (boolean) walksMethod.invoke(bird); boolean walks = (boolean) walksMethod.invoke(bird);

View File

@ -7,7 +7,7 @@ import java.util.regex.Pattern;
import org.junit.Test; import org.junit.Test;
public class RegexTest { public class RegexUnitTest {
private static Pattern pattern; private static Pattern pattern;
private static Matcher matcher; private static Matcher matcher;
@ -499,4 +499,3 @@ public class RegexTest {
return matches; return matches;
} }
} }

View File

@ -7,8 +7,7 @@ import java.io.File;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
public class ScreenshotUnitTest {
public class ScreenshotTest {
private Screenshot screenshot = new Screenshot("Screenshot.jpg"); private Screenshot screenshot = new Screenshot("Screenshot.jpg");
private File file = new File("Screenshot.jpg"); private File file = new File("Screenshot.jpg");

View File

@ -9,7 +9,7 @@ import java.util.concurrent.Executors;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
public class GreetServerTest { public class GreetServerIntegrationTest {
private GreetClient client; private GreetClient client;

View File

@ -3,7 +3,7 @@ package org.baeldung.equalshashcode.entities;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
public class PrimitiveClassTest { public class PrimitiveClassUnitTest {
@Test @Test
public void testTwoEqualsObjects() { public void testTwoEqualsObjects() {

View File

@ -5,11 +5,10 @@ import java.awt.Color;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
public class SquareClassTest { public class SquareClassUnitTest {
@Test @Test
public void testEqualsAndHashcodes() { public void testEqualsAndHashcodes() {
Square aObject = new Square(10, Color.BLUE); Square aObject = new Square(10, Color.BLUE);
Square bObject = new Square(10, Color.BLUE); Square bObject = new Square(10, Color.BLUE);

View File

@ -7,11 +7,11 @@ import org.junit.Test;
public class ArraysJoinAndSplitJUnitTest { public class ArraysJoinAndSplitJUnitTest {
private final String[] sauces = {"Marinara", "Olive Oil"}; private final String[] sauces = { "Marinara", "Olive Oil" };
private final String[] cheeses = {"Mozzarella", "Feta", "Parmesan"}; private final String[] cheeses = { "Mozzarella", "Feta", "Parmesan" };
private final String[] vegetables = {"Olives", "Spinach", "Green Peppers"}; private final String[] vegetables = { "Olives", "Spinach", "Green Peppers" };
private final String[] customers = {"Jay", "Harry", "Ronnie", "Gary", "Ross"}; private final String[] customers = { "Jay", "Harry", "Ronnie", "Gary", "Ross" };
@Test @Test
public void givenThreeStringArrays_whenJoiningIntoOneStringArray_shouldSucceed() { public void givenThreeStringArrays_whenJoiningIntoOneStringArray_shouldSucceed() {
@ -25,12 +25,9 @@ public class ArraysJoinAndSplitJUnitTest {
System.arraycopy(vegetables, 0, toppings, AddedSoFar, vegetables.length); System.arraycopy(vegetables, 0, toppings, AddedSoFar, vegetables.length);
Assert.assertArrayEquals(toppings, Assert.assertArrayEquals(toppings, new String[] { "Marinara", "Olive Oil", "Mozzarella", "Feta", "Parmesan", "Olives", "Spinach", "Green Peppers" });
new String[]{"Marinara", "Olive Oil", "Mozzarella", "Feta",
"Parmesan", "Olives", "Spinach", "Green Peppers"});
} }
@Test @Test
public void givenOneStringArray_whenSplittingInHalfTwoStringArrays_shouldSucceed() { public void givenOneStringArray_whenSplittingInHalfTwoStringArrays_shouldSucceed() {
int ordersHalved = (customers.length / 2) + (customers.length % 2); int ordersHalved = (customers.length / 2) + (customers.length % 2);
@ -38,7 +35,7 @@ public class ArraysJoinAndSplitJUnitTest {
String[] driverOne = Arrays.copyOf(customers, ordersHalved); String[] driverOne = Arrays.copyOf(customers, ordersHalved);
String[] driverTwo = Arrays.copyOfRange(customers, ordersHalved, customers.length); String[] driverTwo = Arrays.copyOfRange(customers, ordersHalved, customers.length);
Assert.assertArrayEquals(driverOne, new String[]{"Jay", "Harry", "Ronnie"}); Assert.assertArrayEquals(driverOne, new String[] { "Jay", "Harry", "Ronnie" });
Assert.assertArrayEquals(driverTwo, new String[]{"Gary", "Ross"}); Assert.assertArrayEquals(driverTwo, new String[] { "Gary", "Ross" });
} }
} }

View File

@ -18,10 +18,7 @@ public class ArrayListTest {
@Before @Before
public void setUp() { public void setUp() {
List<String> list = LongStream.range(0, 16) List<String> list = LongStream.range(0, 16).boxed().map(Long::toHexString).collect(toCollection(ArrayList::new));
.boxed()
.map(Long::toHexString)
.collect(toCollection(ArrayList::new));
stringsToSearch = new ArrayList<>(list); stringsToSearch = new ArrayList<>(list);
stringsToSearch.addAll(list); stringsToSearch.addAll(list);
} }
@ -34,8 +31,7 @@ public class ArrayListTest {
@Test @Test
public void givenCollection_whenProvideItToArrayListCtor_thenArrayListIsPopulatedWithItsElements() { public void givenCollection_whenProvideItToArrayListCtor_thenArrayListIsPopulatedWithItsElements() {
Collection<Integer> numbers = Collection<Integer> numbers = IntStream.range(0, 10).boxed().collect(toSet());
IntStream.range(0, 10).boxed().collect(toSet());
List<Integer> list = new ArrayList<>(numbers); List<Integer> list = new ArrayList<>(numbers);
assertEquals(10, list.size()); assertEquals(10, list.size());
@ -56,8 +52,7 @@ public class ArrayListTest {
@Test @Test
public void givenCollection_whenAddToArrayList_thenIsAdded() { public void givenCollection_whenAddToArrayList_thenIsAdded() {
List<Long> list = new ArrayList<>(Arrays.asList(1L, 2L, 3L)); List<Long> list = new ArrayList<>(Arrays.asList(1L, 2L, 3L));
LongStream.range(4, 10).boxed() LongStream.range(4, 10).boxed().collect(collectingAndThen(toCollection(ArrayList::new), ys -> list.addAll(0, ys)));
.collect(collectingAndThen(toCollection(ArrayList::new), ys -> list.addAll(0, ys)));
assertThat(Arrays.asList(4L, 5L, 6L, 7L, 8L, 9L, 1L, 2L, 3L), equalTo(list)); assertThat(Arrays.asList(4L, 5L, 6L, 7L, 8L, 9L, 1L, 2L, 3L), equalTo(list));
} }
@ -88,10 +83,7 @@ public class ArrayListTest {
public void givenPredicate_whenIterateArrayList_thenFindAllElementsSatisfyingPredicate() { public void givenPredicate_whenIterateArrayList_thenFindAllElementsSatisfyingPredicate() {
Set<String> matchingStrings = new HashSet<>(Arrays.asList("a", "c", "9")); Set<String> matchingStrings = new HashSet<>(Arrays.asList("a", "c", "9"));
List<String> result = stringsToSearch List<String> result = stringsToSearch.stream().filter(matchingStrings::contains).collect(toCollection(ArrayList::new));
.stream()
.filter(matchingStrings::contains)
.collect(toCollection(ArrayList::new));
assertEquals(6, result.size()); assertEquals(6, result.size());
} }
@ -131,8 +123,7 @@ public class ArrayListTest {
@Test @Test
public void givenCondition_whenIterateArrayList_thenRemoveAllElementsSatisfyingCondition() { public void givenCondition_whenIterateArrayList_thenRemoveAllElementsSatisfyingCondition() {
Set<String> matchingStrings Set<String> matchingStrings = Sets.newHashSet("a", "b", "c", "d", "e", "f");
= Sets.newHashSet("a", "b", "c", "d", "e", "f");
Iterator<String> it = stringsToSearch.iterator(); Iterator<String> it = stringsToSearch.iterator();
while (it.hasNext()) { while (it.hasNext()) {

View File

@ -1,21 +1,21 @@
package org.baeldung.java.enums; package org.baeldung.java.enums;
import static junit.framework.TestCase.assertTrue;
import com.baeldung.enums.Pizza;
import org.junit.Test;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.EnumMap; import java.util.EnumMap;
import java.util.List; import java.util.List;
import static junit.framework.TestCase.assertTrue; import org.junit.Test;
import com.baeldung.enums.Pizza;
public class PizzaUnitTest {
public class PizzaTest {
@Test @Test
public void givenPizaOrder_whenReady_thenDeliverable() { public void givenPizaOrder_whenReady_thenDeliverable() {
Pizza testPz = new Pizza(); Pizza testPz = new Pizza();
testPz.setStatus(Pizza.PizzaStatus.READY); testPz.setStatus(Pizza.PizzaStatusEnum.READY);
assertTrue(testPz.isDeliverable()); assertTrue(testPz.isDeliverable());
} }
@ -23,16 +23,16 @@ public class PizzaTest {
public void givenPizaOrders_whenRetrievingUnDeliveredPzs_thenCorrectlyRetrieved() { public void givenPizaOrders_whenRetrievingUnDeliveredPzs_thenCorrectlyRetrieved() {
List<Pizza> pzList = new ArrayList<>(); List<Pizza> pzList = new ArrayList<>();
Pizza pz1 = new Pizza(); Pizza pz1 = new Pizza();
pz1.setStatus(Pizza.PizzaStatus.DELIVERED); pz1.setStatus(Pizza.PizzaStatusEnum.DELIVERED);
Pizza pz2 = new Pizza(); Pizza pz2 = new Pizza();
pz2.setStatus(Pizza.PizzaStatus.ORDERED); pz2.setStatus(Pizza.PizzaStatusEnum.ORDERED);
Pizza pz3 = new Pizza(); Pizza pz3 = new Pizza();
pz3.setStatus(Pizza.PizzaStatus.ORDERED); pz3.setStatus(Pizza.PizzaStatusEnum.ORDERED);
Pizza pz4 = new Pizza(); Pizza pz4 = new Pizza();
pz4.setStatus(Pizza.PizzaStatus.READY); pz4.setStatus(Pizza.PizzaStatusEnum.READY);
pzList.add(pz1); pzList.add(pz1);
pzList.add(pz2); pzList.add(pz2);
@ -48,33 +48,34 @@ public class PizzaTest {
List<Pizza> pzList = new ArrayList<>(); List<Pizza> pzList = new ArrayList<>();
Pizza pz1 = new Pizza(); Pizza pz1 = new Pizza();
pz1.setStatus(Pizza.PizzaStatus.DELIVERED); pz1.setStatus(Pizza.PizzaStatusEnum.DELIVERED);
Pizza pz2 = new Pizza(); Pizza pz2 = new Pizza();
pz2.setStatus(Pizza.PizzaStatus.ORDERED); pz2.setStatus(Pizza.PizzaStatusEnum.ORDERED);
Pizza pz3 = new Pizza(); Pizza pz3 = new Pizza();
pz3.setStatus(Pizza.PizzaStatus.ORDERED); pz3.setStatus(Pizza.PizzaStatusEnum.ORDERED);
Pizza pz4 = new Pizza(); Pizza pz4 = new Pizza();
pz4.setStatus(Pizza.PizzaStatus.READY); pz4.setStatus(Pizza.PizzaStatusEnum.READY);
pzList.add(pz1); pzList.add(pz1);
pzList.add(pz2); pzList.add(pz2);
pzList.add(pz3); pzList.add(pz3);
pzList.add(pz4); pzList.add(pz4);
EnumMap<Pizza.PizzaStatus, List<Pizza>> map = Pizza.groupPizzaByStatus(pzList); EnumMap<Pizza.PizzaStatusEnum, List<Pizza>> map = Pizza.groupPizzaByStatus(pzList);
assertTrue(map.get(Pizza.PizzaStatus.DELIVERED).size() == 1); assertTrue(map.get(Pizza.PizzaStatusEnum.DELIVERED).size() == 1);
assertTrue(map.get(Pizza.PizzaStatus.ORDERED).size() == 2); assertTrue(map.get(Pizza.PizzaStatusEnum.ORDERED).size() == 2);
assertTrue(map.get(Pizza.PizzaStatus.READY).size() == 1); assertTrue(map.get(Pizza.PizzaStatusEnum.READY).size() == 1);
} }
@Test @Test
public void givenPizaOrder_whenDelivered_thenPizzaGetsDeliveredAndStatusChanges() { public void givenPizaOrder_whenDelivered_thenPizzaGetsDeliveredAndStatusChanges() {
Pizza pz = new Pizza(); Pizza pz = new Pizza();
pz.setStatus(Pizza.PizzaStatus.READY); pz.setStatus(Pizza.PizzaStatusEnum.READY);
pz.deliver(); pz.deliver();
assertTrue(pz.getStatus() == Pizza.PizzaStatus.DELIVERED); assertTrue(pz.getStatus() == Pizza.PizzaStatusEnum.DELIVERED);
} }
} }

View File

@ -23,7 +23,7 @@ import java.util.Scanner;
import org.junit.Test; import org.junit.Test;
public class JavaReadFromFileTest { public class JavaReadFromFileIntegrationTest {
@Test @Test
public void whenReadWithBufferedReader_thenCorrect() throws IOException { public void whenReadWithBufferedReader_thenCorrect() throws IOException {
@ -111,7 +111,7 @@ public class JavaReadFromFileTest {
@Test @Test
public void whenReadUTFEncodedFile_thenCorrect() throws IOException { public void whenReadUTFEncodedFile_thenCorrect() throws IOException {
final String expected_value = "青空"; final String expected_value = "é?’空";
final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("src/test/resources/test_read7.in"), "UTF-8")); final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("src/test/resources/test_read7.in"), "UTF-8"));
final String currentLine = reader.readLine(); final String currentLine = reader.readLine();
reader.close(); reader.close();

View File

@ -15,7 +15,7 @@ import java.util.Scanner;
import org.junit.Test; import org.junit.Test;
public class JavaScannerTest { public class JavaScannerIntegrationTest {
@Test @Test
public void whenReadFileWithScanner_thenCorrect() throws IOException { public void whenReadFileWithScanner_thenCorrect() throws IOException {

View File

@ -26,7 +26,7 @@ import java.nio.file.Paths;
import org.junit.Test; import org.junit.Test;
public class JavaWriteToFileTest { public class JavaWriteToFileIntegrationTest {
private String fileName = "src/test/resources/test_write.txt"; private String fileName = "src/test/resources/test_write.txt";
private String fileName1 = "src/test/resources/test_write_1.txt"; private String fileName1 = "src/test/resources/test_write_1.txt";

View File

@ -7,7 +7,7 @@ import java.util.List;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
public class ListAssertJTest { public class ListAssertJUnitTest {
private final List<String> list1 = Arrays.asList("1", "2", "3", "4"); private final List<String> list1 = Arrays.asList("1", "2", "3", "4");
private final List<String> list2 = Arrays.asList("1", "2", "3", "4"); private final List<String> list2 = Arrays.asList("1", "2", "3", "4");
@ -15,9 +15,7 @@ public class ListAssertJTest {
@Test @Test
public void whenTestingForEquality_ShouldBeEqual() throws Exception { public void whenTestingForEquality_ShouldBeEqual() throws Exception {
assertThat(list1) assertThat(list1).isEqualTo(list2).isNotEqualTo(list3);
.isEqualTo(list2)
.isNotEqualTo(list3);
assertThat(list1.equals(list2)).isTrue(); assertThat(list1.equals(list2)).isTrue();
assertThat(list1.equals(list3)).isFalse(); assertThat(list1.equals(list3)).isFalse();

View File

@ -6,7 +6,7 @@ import org.testng.annotations.Test;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
public class ListTestNGTest { public class ListTestNgUnitTest {
private final List<String> list1 = Arrays.asList("1", "2", "3", "4"); private final List<String> list1 = Arrays.asList("1", "2", "3", "4");
private final List<String> list2 = Arrays.asList("1", "2", "3", "4"); private final List<String> list2 = Arrays.asList("1", "2", "3", "4");

View File

@ -1,9 +1,10 @@
package org.baeldung.java.md5; package org.baeldung.java.md5;
import static org.junit.Assert.*; import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
@ -11,20 +12,12 @@ import java.security.NoSuchAlgorithmException;
import javax.xml.bind.DatatypeConverter; import javax.xml.bind.DatatypeConverter;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import com.google.common.hash.HashCode; import com.google.common.hash.HashCode;
import com.google.common.hash.Hashing; import com.google.common.hash.Hashing;
import java.io.File; public class JavaMD5UnitTest {
import java.io.IOException;
import java.nio.*;
import static org.assertj.core.api.Assertions.assertThat;
public class JavaMD5Test {
String filename = "src/test/resources/test_md5.txt"; String filename = "src/test/resources/test_md5.txt";
String checksum = "5EB63BBBE01EEED093CB22BB8F5ACDC3"; String checksum = "5EB63BBBE01EEED093CB22BB8F5ACDC3";
@ -32,8 +25,6 @@ public class JavaMD5Test {
String hash = "35454B055CC325EA1AF2126E27707052"; String hash = "35454B055CC325EA1AF2126E27707052";
String password = "ILoveJava"; String password = "ILoveJava";
@Test @Test
public void givenPassword_whenHashing_thenVerifying() throws NoSuchAlgorithmException { public void givenPassword_whenHashing_thenVerifying() throws NoSuchAlgorithmException {
String hash = "35454B055CC325EA1AF2126E27707052"; String hash = "35454B055CC325EA1AF2126E27707052";
@ -55,8 +46,7 @@ public class JavaMD5Test {
MessageDigest md = MessageDigest.getInstance("MD5"); MessageDigest md = MessageDigest.getInstance("MD5");
md.update(Files.readAllBytes(Paths.get(filename))); md.update(Files.readAllBytes(Paths.get(filename)));
byte[] digest = md.digest(); byte[] digest = md.digest();
String myChecksum = DatatypeConverter String myChecksum = DatatypeConverter.printHexBinary(digest).toUpperCase();
.printHexBinary(digest).toUpperCase();
assertThat(myChecksum.equals(checksum)).isTrue(); assertThat(myChecksum.equals(checksum)).isTrue();
} }
@ -66,25 +56,20 @@ public class JavaMD5Test {
String hash = "35454B055CC325EA1AF2126E27707052"; String hash = "35454B055CC325EA1AF2126E27707052";
String password = "ILoveJava"; String password = "ILoveJava";
String md5Hex = DigestUtils String md5Hex = DigestUtils.md5Hex(password).toUpperCase();
.md5Hex(password).toUpperCase();
assertThat(md5Hex.equals(hash)).isTrue(); assertThat(md5Hex.equals(hash)).isTrue();
} }
@Test @Test
public void givenFile_whenChecksumUsingGuava_thenVerifying() throws IOException { public void givenFile_whenChecksumUsingGuava_thenVerifying() throws IOException {
String filename = "src/test/resources/test_md5.txt"; String filename = "src/test/resources/test_md5.txt";
String checksum = "5EB63BBBE01EEED093CB22BB8F5ACDC3"; String checksum = "5EB63BBBE01EEED093CB22BB8F5ACDC3";
HashCode hash = com.google.common.io.Files HashCode hash = com.google.common.io.Files.hash(new File(filename), Hashing.md5());
.hash(new File(filename), Hashing.md5()); String myChecksum = hash.toString().toUpperCase();
String myChecksum = hash.toString()
.toUpperCase();
assertThat(myChecksum.equals(checksum)).isTrue(); assertThat(myChecksum.equals(checksum)).isTrue();
} }
} }

View File

@ -6,7 +6,7 @@ import java.util.TimerTask;
import org.junit.Test; import org.junit.Test;
public class SandboxJavaTest { public class SandboxJavaUnitTest {
@Test @Test
public void givenUsingTimer_whenSchedulingTimerTaskOnce_thenCorrect() throws InterruptedException { public void givenUsingTimer_whenSchedulingTimerTaskOnce_thenCorrect() throws InterruptedException {