ItEr33S14CUCreacionUnidadesPlanificacion: Adding equalTo constraint
This commit is contained in:
parent
ec2f71001a
commit
ae43ea1e39
2 changed files with 37 additions and 0 deletions
|
|
@ -34,6 +34,13 @@ public abstract class DateConstraint extends Constraint<Date> {
|
|||
return new BiggerOrEqualThan(date);
|
||||
}
|
||||
|
||||
public static Constraint<Date> equalTo(Date date) {
|
||||
if (date == null) {
|
||||
return Constraint.voidConstraint();
|
||||
}
|
||||
return new EqualTo(date);
|
||||
}
|
||||
|
||||
private long value;
|
||||
|
||||
protected long getValue() {
|
||||
|
|
@ -62,6 +69,22 @@ public abstract class DateConstraint extends Constraint<Date> {
|
|||
|
||||
protected abstract boolean isSatisfiedBy(Long time);
|
||||
|
||||
static final class EqualTo extends DateConstraint {
|
||||
EqualTo(Date date) {
|
||||
super(date);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected long applyConstraintTo(Long time) {
|
||||
return getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isSatisfiedBy(Long time) {
|
||||
return getValue() == time;
|
||||
}
|
||||
}
|
||||
|
||||
static class BiggerOrEqualThan extends DateConstraint {
|
||||
|
||||
protected BiggerOrEqualThan(Date date) {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ public class DateConstraintTest {
|
|||
|
||||
private Constraint<Date> biggerOrEqualThanNow = DateConstraint
|
||||
.biggerOrEqualThan(now);
|
||||
private Constraint<Date> equalToNow = DateConstraint.equalTo(now);
|
||||
|
||||
@Test
|
||||
public void canCreateConstraintBiggerThan() {
|
||||
|
|
@ -53,4 +54,17 @@ public class DateConstraintTest {
|
|||
.getTime())));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canCreateConstraintEqualTo(){
|
||||
assertThat(equalToNow.applyTo(new Date(now.getTime() + 1000)),
|
||||
equalTo(now));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equalToNullLeaveValuesUnmodified() {
|
||||
Constraint<Date> equalToNull = DateConstraint.equalTo(null);
|
||||
Date value = new Date(now.getTime() + 1000);
|
||||
assertThat(equalToNull.applyTo(value), equalTo(value));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue