BAEL 7436: Updated improvement (#15674)
This commit is contained in:
parent
9014d3007b
commit
7f1cb82f85
|
@ -32,4 +32,7 @@ public class Delivery {
|
|||
public static Delivery freeDelivery() {
|
||||
return new Delivery("Free delivery");
|
||||
}
|
||||
public static Delivery defaultDelivery() {
|
||||
return new Delivery("Default delivery");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
|||
import com.baeldung.nullconversion.service.OnePersonExplicitDeliveryService;
|
||||
import com.baeldung.nullconversion.service.OnePersonGuavaOptionalDeliveryService;
|
||||
import com.baeldung.nullconversion.service.OnePersonOptionalDeliveryService;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.ArgumentsSource;
|
||||
|
||||
|
@ -27,13 +28,4 @@ class OnePersonDeliveryServiceUnitTest {
|
|||
Delivery actual = deliveryService.calculateDeliveryForPerson(1L);
|
||||
assertThat(actual).isEqualTo(expected);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(NullReturningPersonChainProvider.class)
|
||||
void givenMockDeliverServiceWhenNullValuesThenGuavaOptionalServiceThrowsException(Person person) {
|
||||
DeliveryService deliveryService = new OnePersonGuavaOptionalDeliveryService(person);
|
||||
assertThatExceptionOfType(NullPointerException.class)
|
||||
.isThrownBy(() -> deliveryService.calculateDeliveryForPerson(1L));
|
||||
|
||||
}
|
||||
}
|
|
@ -18,10 +18,10 @@ public class PersonProvider implements ArgumentsProvider {
|
|||
|
||||
return Stream.of(
|
||||
Arguments.of(person, Delivery.freeDelivery()),
|
||||
Arguments.of(cloneAndMutate(person, p -> p.getAddress().getZipCode().setCode("")), null),
|
||||
Arguments.of(cloneAndMutate(person, p -> p.getAddress().setZipCode(null)), null),
|
||||
Arguments.of(cloneAndMutate(person, p -> p.setAddress(null)), null),
|
||||
Arguments.of(null, null)
|
||||
Arguments.of(cloneAndMutate(person, p -> p.getAddress().getZipCode().setCode("")), Delivery.defaultDelivery()),
|
||||
Arguments.of(cloneAndMutate(person, p -> p.getAddress().setZipCode(null)), Delivery.defaultDelivery()),
|
||||
Arguments.of(cloneAndMutate(person, p -> p.setAddress(null)), Delivery.defaultDelivery()),
|
||||
Arguments.of(null, Delivery.defaultDelivery())
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ public abstract class MockOnePersonDeliveryServiceBase implements DeliveryServic
|
|||
String code = zipCode.getCode();
|
||||
return calculateDeliveryForZipCode(code);
|
||||
}
|
||||
return null;
|
||||
return Delivery.defaultDelivery();
|
||||
}
|
||||
|
||||
public Delivery calculateDeliveryForPersonWithOptional(Long id) {
|
||||
|
@ -32,7 +32,7 @@ public abstract class MockOnePersonDeliveryServiceBase implements DeliveryServic
|
|||
.map(Address::getZipCode)
|
||||
.map(ZipCode::getCode)
|
||||
.map(this::calculateDeliveryForZipCode)
|
||||
.orElse(null);
|
||||
.orElse(Delivery.defaultDelivery());
|
||||
}
|
||||
|
||||
protected Person getPersonById(Long id) {
|
||||
|
@ -41,7 +41,7 @@ public abstract class MockOnePersonDeliveryServiceBase implements DeliveryServic
|
|||
|
||||
protected Delivery calculateDeliveryForZipCode(String zipCode) {
|
||||
if (zipCode == null || zipCode.isEmpty()) {
|
||||
return null;
|
||||
return Delivery.defaultDelivery();
|
||||
} else {
|
||||
return Delivery.freeDelivery();
|
||||
}
|
||||
|
|
|
@ -19,6 +19,6 @@ public class OnePersonExplicitDeliveryService extends MockOnePersonDeliveryServi
|
|||
String code = zipCode.getCode();
|
||||
return calculateDeliveryForZipCode(code);
|
||||
}
|
||||
return null;
|
||||
return Delivery.defaultDelivery();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ public class OnePersonGuavaOptionalDeliveryService extends MockOnePersonDelivery
|
|||
.transform(Address::getZipCode)
|
||||
.transform(ZipCode::getCode)
|
||||
.transform(this::calculateDeliveryForZipCode)
|
||||
.orNull();
|
||||
.or(Delivery.defaultDelivery());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ public class OnePersonOptionalDeliveryService extends MockOnePersonDeliveryServi
|
|||
.map(Address::getZipCode)
|
||||
.map(ZipCode::getCode)
|
||||
.map(this::calculateDeliveryForZipCode)
|
||||
.orElse(null);
|
||||
.orElse(Delivery.defaultDelivery());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue