package org.mafagafogigante.dungeon.schema.rules;
import org.mafagafogigante.dungeon.schema.JsonRule;
import com.eclipsesource.json.Json;
import com.eclipsesource.json.JsonValue;
import org.junit.Test;
public class BoundDoubleJsonRuleTest {
private static final double MIN_BOUND_VALUE = 1.5;
private static final double MAX_BOUND_VALUE = 3.5;
private static final JsonRule boundDoubleJsonRule = new BoundDoubleJsonRule(MIN_BOUND_VALUE, MAX_BOUND_VALUE);
@Test(expected = IllegalArgumentException.class)
public void boundDoubleJsonRuleShouldFailValueOutOfLowerBound() {
final double lowerThanLowerBound = 1.0;
JsonValue jsonValue = Json.value(lowerThanLowerBound);
boundDoubleJsonRule.validate(jsonValue);
}
@Test(expected = IllegalArgumentException.class)
public void boundDoubleJsonRuleShouldFailValueOutOfUpperBound() {
final double greaterThanUpperBound = 5.0;
JsonValue jsonValue = Json.value(greaterThanUpperBound);
boundDoubleJsonRule.validate(jsonValue);
}
@Test
public void boundDoubleJsonRuleShouldPassInBoundValue() {
final double valid = 2.0;
JsonValue jsonValue = Json.value(valid);
boundDoubleJsonRule.validate(jsonValue);
}
}