refactor: 默认使用 SimpleImmutableEntry
作为二元组
- 在 `MapValidator` 类中,将 `SimpleEntry` 替换为 `SimpleImmutableEntry`,作为二元组的默认实现。 - 在 `PairPropertyValidatorTests` 类中,做同样的替换。
This commit is contained in:
parent
c27525a637
commit
3f23d5383d
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package xyz.zhouxy.plusone.validator;
|
package xyz.zhouxy.plusone.validator;
|
||||||
|
|
||||||
import java.util.AbstractMap.SimpleEntry;
|
import java.util.AbstractMap.SimpleImmutableEntry;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -205,7 +205,8 @@ public abstract class MapValidator<K, V> extends BaseValidator<Map<K, V>> {
|
|||||||
protected final <V1 extends V, V2 extends V>
|
protected final <V1 extends V, V2 extends V>
|
||||||
PairPropertyValidator<Map<K, V>, V1, V2> ruleForPair(K k1, K k2) {
|
PairPropertyValidator<Map<K, V>, V1, V2> ruleForPair(K k1, K k2) {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
Function<Map<K, V>, Entry<V1, V2>> getter = m -> new SimpleEntry<V1, V2>((V1) m.get(k1), (V2) m.get(k2));
|
Function<Map<K, V>, Entry<V1, V2>> getter = m ->
|
||||||
|
new SimpleImmutableEntry<>((V1) m.get(k1), (V2) m.get(k2));
|
||||||
return ruleForPair(getter);
|
return ruleForPair(getter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.AbstractMap.SimpleEntry;
|
import java.util.AbstractMap.SimpleImmutableEntry;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ public class PairPropertyValidatorTests {
|
|||||||
void must_validInput() {
|
void must_validInput() {
|
||||||
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
||||||
{
|
{
|
||||||
ruleForPair((ExampleCommand command) -> new SimpleEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
ruleForPair((ExampleCommand command) -> new SimpleImmutableEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
||||||
.must((str, intValue) -> Objects.equals(str, intValue.toString()))
|
.must((str, intValue) -> Objects.equals(str, intValue.toString()))
|
||||||
.must((str, intValue) -> Objects.equals(str, intValue.toString()), MESSAGE)
|
.must((str, intValue) -> Objects.equals(str, intValue.toString()), MESSAGE)
|
||||||
.must((str, intValue) -> Objects.equals(str, intValue.toString()), () -> ExampleException.withMessage(MESSAGE))
|
.must((str, intValue) -> Objects.equals(str, intValue.toString()), () -> ExampleException.withMessage(MESSAGE))
|
||||||
@ -60,7 +60,7 @@ public class PairPropertyValidatorTests {
|
|||||||
void must_default_invalidInput() {
|
void must_default_invalidInput() {
|
||||||
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
||||||
{
|
{
|
||||||
ruleForPair((ExampleCommand command) -> new SimpleEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
ruleForPair((ExampleCommand command) -> new SimpleImmutableEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
||||||
.must((str, intValue) -> Objects.equals(str, intValue.toString()));
|
.must((str, intValue) -> Objects.equals(str, intValue.toString()));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -75,7 +75,7 @@ public class PairPropertyValidatorTests {
|
|||||||
void must_message_invalidInput() {
|
void must_message_invalidInput() {
|
||||||
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
||||||
{
|
{
|
||||||
ruleForPair((ExampleCommand command) -> new SimpleEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
ruleForPair((ExampleCommand command) -> new SimpleImmutableEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
||||||
.must((str, intValue) -> Objects.equals(str, intValue.toString()), MESSAGE);
|
.must((str, intValue) -> Objects.equals(str, intValue.toString()), MESSAGE);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -89,7 +89,7 @@ public class PairPropertyValidatorTests {
|
|||||||
void must_exceptionSupplier_invalidInput() {
|
void must_exceptionSupplier_invalidInput() {
|
||||||
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
||||||
{
|
{
|
||||||
ruleForPair((ExampleCommand command) -> new SimpleEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
ruleForPair((ExampleCommand command) -> new SimpleImmutableEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
||||||
.must((str, intValue) -> Objects.equals(str, intValue.toString()), () -> ExampleException.withMessage(MESSAGE));
|
.must((str, intValue) -> Objects.equals(str, intValue.toString()), () -> ExampleException.withMessage(MESSAGE));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -104,7 +104,7 @@ public class PairPropertyValidatorTests {
|
|||||||
void must_exceptionFunction_invalidInput() {
|
void must_exceptionFunction_invalidInput() {
|
||||||
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
IValidator<ExampleCommand> validator = new BaseValidator<ExampleCommand>() {
|
||||||
{
|
{
|
||||||
ruleForPair((ExampleCommand command) -> new SimpleEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
ruleForPair((ExampleCommand command) -> new SimpleImmutableEntry<String,Integer>(command.getStringProperty(), command.getIntProperty()))
|
||||||
.must((str, intValue) -> Objects.equals(str, intValue.toString()),
|
.must((str, intValue) -> Objects.equals(str, intValue.toString()),
|
||||||
(str, intValue) -> ExampleException.withMessage("Validation failed: ('%s', %d).", str, intValue));
|
(str, intValue) -> ExampleException.withMessage("Validation failed: ('%s', %d).", str, intValue));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user