Bael 3510-method multiple return values (#8348)

* init

* first draft

* first review round changes

* second review round

* changing arg name
This commit is contained in:
M-Abdelbaset
2020-01-01 13:19:04 +02:00
committed by ashleyfrieze
parent 888539b06d
commit e0f885a467
10 changed files with 266 additions and 0 deletions
@@ -0,0 +1,25 @@
package com.baeldung.methodmultiplereturnvalues;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
class MultipleReturnValuesUsingArraysUnitTest {
@Test
void whenUsingArrayOfDoubles_thenMultipleDoubleFieldsAreReturned() {
double[] coordinates = MultipleReturnValuesUsingArrays.getCoordinatesDoubleArray();
assertEquals(10, coordinates[0]);
assertEquals(12.5, coordinates[1]);
}
@Test
void whenUsingArrayOfNumbers_thenMultipleNumberFieldsAreReturned() {
Number[] coordinates = MultipleReturnValuesUsingArrays.getCoordinatesNumberArray();
assertEquals(10, coordinates[0]);
assertEquals(12.5, coordinates[1]);
}
}
@@ -0,0 +1,25 @@
package com.baeldung.methodmultiplereturnvalues;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.Test;
class MultipleReturnValuesUsingCollectionsUnitTest {
@Test
void whenUsingList_thenMultipleFieldsAreReturned() {
List<Number> coordinates = MultipleReturnValuesUsingCollections.getCoordinatesList();
assertEquals(Integer.valueOf(10), coordinates.get(0));
assertEquals(Double.valueOf(12.5), coordinates.get(1));
}
@Test
void whenUsingMap_thenMultipleFieldsAreReturned() {
Map<String, Number> coordinates = MultipleReturnValuesUsingCollections.getCoordinatesMap();
assertEquals(Integer.valueOf(10), coordinates.get("longitude"));
assertEquals(Double.valueOf(12.5), coordinates.get("latitude"));
}
}
@@ -0,0 +1,17 @@
package com.baeldung.methodmultiplereturnvalues;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
class MultipleReturnValuesUsingContainerUnitTest {
@Test
void whenUsingContainerClass_thenMultipleFieldsAreReturned() {
Coordinates coordinates = MultipleReturnValuesUsingContainer.getCoordinates();
assertEquals(10, coordinates.getLongitude());
assertEquals(12.5, coordinates.getLatitude());
assertEquals("home", coordinates.getPlaceName());
}
}
@@ -0,0 +1,31 @@
package com.baeldung.methodmultiplereturnvalues;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.Test;
class MultipleReturnValuesUsingTuplesUnitTest {
@Test
void whenUsingTuple_thenMultipleFieldsAreReturned() {
List<Coordinates> coordinatesList = new ArrayList<>();
coordinatesList.add(new Coordinates(1, 1, "home"));
coordinatesList.add(new Coordinates(2, 2, "school"));
coordinatesList.add(new Coordinates(3, 3, "hotel"));
Coordinates target = new Coordinates(5, 5, "gym");
Tuple2<Coordinates, Double> mostDistantPoint = MultipleReturnValuesUsingTuples.getMostDistantPoint(coordinatesList, target);
assertEquals(1, mostDistantPoint.getFirst().getLongitude());
assertEquals(1, mostDistantPoint.getFirst().getLatitude());
assertEquals("home", mostDistantPoint.getFirst().getPlaceName());
assertEquals(5.66, BigDecimal.valueOf(mostDistantPoint.getSecond()).setScale(2, RoundingMode.HALF_UP).doubleValue());
}
}