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 PercentageJsonRuleTest { private static final JsonRule percentJsonRule = new PercentageJsonRule(); @Test(expected = IllegalArgumentException.class) public void percentageJsonRuleShouldFailOnInvalidPercentageFormat() { JsonValue jsonValue = Json.value("A%"); percentJsonRule.validate(jsonValue); } @Test(expected = IllegalArgumentException.class) public void percentageJsonRuleShouldFailOnValueBelowValidRange() { JsonValue jsonValue = Json.value("-1.0%"); percentJsonRule.validate(jsonValue); } @Test(expected = IllegalArgumentException.class) public void percentageJsonRuleShouldFailOnValueAboveValidRange() { JsonValue jsonValue = Json.value("101.0%"); percentJsonRule.validate(jsonValue); } @Test public void percentageJsonRuleShouldPassOnValidFormatAndRange() { JsonValue jsonValue = Json.value("2%"); percentJsonRule.validate(jsonValue); } }