diff --git a/src/main/java/com/ezylang/evalex/config/ExpressionConfiguration.java b/src/main/java/com/ezylang/evalex/config/ExpressionConfiguration.java --- a/src/main/java/com/ezylang/evalex/config/ExpressionConfiguration.java +++ b/src/main/java/com/ezylang/evalex/config/ExpressionConfiguration.java @@ -16,6 +16,8 @@ */ package com.ezylang.evalex.config; import com.ezylang.evalex.data.*; +import com.ezylang.evalex.data.conversion.DefaultEvaluationValueConverter; +import com.ezylang.evalex.data.conversion.EvaluationValueConverterIfc; import com.ezylang.evalex.functions.FunctionIfc; import com.ezylang.evalex.functions.basic.*; import com.ezylang.evalex.functions.datetime.*; diff --git a/src/main/java/com/ezylang/evalex/data/DefaultEvaluationValueConverter.java b/src/main/java/com/ezylang/evalex/data/conversion/DefaultEvaluationValueConverter.java rename from src/main/java/com/ezylang/evalex/data/DefaultEvaluationValueConverter.java rename to src/main/java/com/ezylang/evalex/data/conversion/DefaultEvaluationValueConverter.java --- a/src/main/java/com/ezylang/evalex/data/DefaultEvaluationValueConverter.java +++ b/src/main/java/com/ezylang/evalex/data/conversion/DefaultEvaluationValueConverter.java @@ -13,10 +13,10 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.ezylang.evalex.data; +package com.ezylang.evalex.data.conversion; import com.ezylang.evalex.config.ExpressionConfiguration; -import com.ezylang.evalex.data.conversion.*; +import com.ezylang.evalex.data.EvaluationValue; import java.util.Arrays; import java.util.List; diff --git a/src/main/java/com/ezylang/evalex/data/EvaluationValue.java b/src/main/java/com/ezylang/evalex/data/EvaluationValue.java --- a/src/main/java/com/ezylang/evalex/data/EvaluationValue.java +++ b/src/main/java/com/ezylang/evalex/data/EvaluationValue.java @@ -16,6 +16,7 @@ */ package com.ezylang.evalex.data; import com.ezylang.evalex.config.ExpressionConfiguration; +import com.ezylang.evalex.data.conversion.DefaultEvaluationValueConverter; import com.ezylang.evalex.parser.ASTNode; import java.math.BigDecimal; import java.math.BigInteger; diff --git a/src/main/java/com/ezylang/evalex/data/EvaluationValueConverterIfc.java b/src/main/java/com/ezylang/evalex/data/conversion/EvaluationValueConverterIfc.java rename from src/main/java/com/ezylang/evalex/data/EvaluationValueConverterIfc.java rename to src/main/java/com/ezylang/evalex/data/conversion/EvaluationValueConverterIfc.java --- a/src/main/java/com/ezylang/evalex/data/EvaluationValueConverterIfc.java +++ b/src/main/java/com/ezylang/evalex/data/conversion/EvaluationValueConverterIfc.java @@ -13,9 +13,10 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.ezylang.evalex.data; +package com.ezylang.evalex.data.conversion; import com.ezylang.evalex.config.ExpressionConfiguration; +import com.ezylang.evalex.data.EvaluationValue; /** * Converter interface to be implemented by configurable evaluation value converters. Converts an diff --git a/src/main/java/com/ezylang/evalex/data/conversion/ConverterIfc.java b/src/main/java/com/ezylang/evalex/data/conversion/ConverterIfc.java --- a/src/main/java/com/ezylang/evalex/data/conversion/ConverterIfc.java +++ b/src/main/java/com/ezylang/evalex/data/conversion/ConverterIfc.java @@ -18,9 +18,7 @@ import com.ezylang.evalex.config.ExpressionConfiguration; import com.ezylang.evalex.data.EvaluationValue; -/** - * Converter interface used by the {@link com.ezylang.evalex.data.DefaultEvaluationValueConverter}. - */ +/** Converter interface used by the {@link DefaultEvaluationValueConverter}. */ public interface ConverterIfc { /** diff --git a/src/test/java/com/ezylang/evalex/ExpressionEvaluatorConstantsTest.java b/src/test/java/com/ezylang/evalex/ExpressionEvaluatorConstantsTest.java --- a/src/test/java/com/ezylang/evalex/ExpressionEvaluatorConstantsTest.java +++ b/src/test/java/com/ezylang/evalex/ExpressionEvaluatorConstantsTest.java @@ -51,8 +51,8 @@ void testCustomConstantsMixedCase() throws EvaluationException, ParseException { Map constants = new HashMap<>() { { - put("A", new EvaluationValue(new BigDecimal("2.5"))); - put("B", new EvaluationValue(new BigDecimal("3.9"))); + put("A", EvaluationValue.numberValue(new BigDecimal("2.5"))); + put("B", EvaluationValue.numberValue(new BigDecimal("3.9"))); } }; diff --git a/src/test/java/com/ezylang/evalex/config/ExpressionConfigurationTest.java b/src/test/java/com/ezylang/evalex/config/ExpressionConfigurationTest.java --- a/src/test/java/com/ezylang/evalex/config/ExpressionConfigurationTest.java +++ b/src/test/java/com/ezylang/evalex/config/ExpressionConfigurationTest.java @@ -132,8 +132,8 @@ void testCustomConstants() { Map constants = new HashMap<>() { { - put("A", new EvaluationValue("a")); - put("B", new EvaluationValue("b")); + put("A", EvaluationValue.stringValue("a")); + put("B", EvaluationValue.stringValue("b")); } }; ExpressionConfiguration configuration = diff --git a/src/test/java/com/ezylang/evalex/config/TestConfigurationProvider.java b/src/test/java/com/ezylang/evalex/config/TestConfigurationProvider.java --- a/src/test/java/com/ezylang/evalex/config/TestConfigurationProvider.java +++ b/src/test/java/com/ezylang/evalex/config/TestConfigurationProvider.java @@ -53,7 +53,7 @@ public EvaluationValue evaluate( Expression expression, Token operatorToken, EvaluationValue... operands) { // dummy implementation EvaluationValue operand = operands[0]; - return new EvaluationValue(operand.getNumberValue().add(BigDecimal.ONE)); + return EvaluationValue.numberValue(operand.getNumberValue().add(BigDecimal.ONE)); } } @@ -64,7 +64,7 @@ public EvaluationValue evaluate( Expression expression, Token operatorToken, EvaluationValue... operands) { // dummy implementation EvaluationValue operand = operands[0]; - return new EvaluationValue(operand.getNumberValue().add(BigDecimal.ONE)); + return EvaluationValue.numberValue(operand.getNumberValue().add(BigDecimal.ONE)); } } @@ -74,7 +74,7 @@ @Override public EvaluationValue evaluate( Expression expression, Token operatorToken, EvaluationValue... operands) { // dummy implementation - return new EvaluationValue("?"); + return EvaluationValue.stringValue("?"); } } } diff --git a/src/test/java/com/ezylang/evalex/data/DefaultEvaluationValueConverterTest.java b/src/test/java/com/ezylang/evalex/data/DefaultEvaluationValueConverterTest.java --- a/src/test/java/com/ezylang/evalex/data/DefaultEvaluationValueConverterTest.java +++ b/src/test/java/com/ezylang/evalex/data/DefaultEvaluationValueConverterTest.java @@ -19,6 +19,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import com.ezylang.evalex.config.ExpressionConfiguration; +import com.ezylang.evalex.data.conversion.DefaultEvaluationValueConverter; import org.junit.jupiter.api.Test; class DefaultEvaluationValueConverterTest { diff --git a/src/test/java/com/ezylang/evalex/data/EvaluationValueTest.java b/src/test/java/com/ezylang/evalex/data/EvaluationValueTest.java --- a/src/test/java/com/ezylang/evalex/data/EvaluationValueTest.java +++ b/src/test/java/com/ezylang/evalex/data/EvaluationValueTest.java @@ -15,6 +15,7 @@ limitations under the License. */ package com.ezylang.evalex.data; +import static com.ezylang.evalex.config.ExpressionConfiguration.defaultConfiguration; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -35,14 +36,15 @@ class EvaluationValueTest { @Test void testUnsupportedDataType() { - assertThatThrownBy(() -> new EvaluationValue(Locale.FRANCE)) + final ExpressionConfiguration configuration = defaultConfiguration(); + assertThatThrownBy(() -> new EvaluationValue(Locale.FRANCE, configuration)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("Unsupported data type 'java.util.Locale'"); } @Test void testString() { - EvaluationValue value = new EvaluationValue("Hello World"); + EvaluationValue value = new EvaluationValue("Hello World", defaultConfiguration()); assertThat(value.isStringValue()).isTrue(); assertThat(value.isNumberValue()).isFalse(); @@ -57,7 +59,8 @@ } @Test void testStringBuilder() { - EvaluationValue value = new EvaluationValue(new StringBuilder("Hello StringBuilder World")); + EvaluationValue value = + new EvaluationValue(new StringBuilder("Hello StringBuilder World"), defaultConfiguration()); assertThat(value.isStringValue()).isTrue(); assertDataIsCorrect( @@ -72,7 +75,7 @@ } @Test void testCharacter() { - EvaluationValue value = new EvaluationValue('a'); + EvaluationValue value = new EvaluationValue('a', defaultConfiguration()); assertThat(value.isStringValue()).isTrue(); assertDataIsCorrect( @@ -81,7 +84,7 @@ } @Test void testBooleanTrue() { - EvaluationValue value = new EvaluationValue(true); + EvaluationValue value = new EvaluationValue(true, defaultConfiguration()); assertThat(value.isBooleanValue()).isTrue(); assertThat(value.isNumberValue()).isFalse(); @@ -96,7 +99,7 @@ } @Test void testBooleanFalse() { - EvaluationValue value = new EvaluationValue(false); + EvaluationValue value = new EvaluationValue(false, defaultConfiguration()); assertThat(value.isBooleanValue()).isTrue(); assertDataIsCorrect( @@ -105,7 +108,7 @@ } @Test void testBooleanString() { - EvaluationValue value = new EvaluationValue("true"); + EvaluationValue value = new EvaluationValue("true", defaultConfiguration()); assertThat(value.isStringValue()).isTrue(); assertDataIsCorrect( @@ -114,7 +117,7 @@ } @Test void testBooleanNumberZero() { - EvaluationValue value = new EvaluationValue(BigDecimal.ZERO); + EvaluationValue value = new EvaluationValue(BigDecimal.ZERO, defaultConfiguration()); assertThat(value.isNumberValue()).isTrue(); assertDataIsCorrect( @@ -124,7 +127,7 @@ @Test void testInstant() { Instant instant = Instant.parse("2022-10-30T00:00:00Z"); - EvaluationValue value = new EvaluationValue(instant); + EvaluationValue value = new EvaluationValue(instant, defaultConfiguration()); assertThat(value.isDateTimeValue()).isTrue(); assertDataIsCorrect( @@ -207,7 +210,7 @@ @Test void testZonedDateTime() { ZonedDateTime zonedDateTime = ZonedDateTime.of(LocalDateTime.of(2022, 10, 30, 11, 20, 30), ZoneId.of("GMT+05:30")); - EvaluationValue value = new EvaluationValue(zonedDateTime); + EvaluationValue value = new EvaluationValue(zonedDateTime, defaultConfiguration()); assertThat(value.isDateTimeValue()).isTrue(); assertDataIsCorrect( @@ -224,7 +227,7 @@ @Test void testOffsetDateTime() { OffsetDateTime offsetDateTime = OffsetDateTime.of(LocalDateTime.of(2022, 10, 30, 11, 20, 30), ZoneOffset.of("+05:30")); - EvaluationValue value = new EvaluationValue(offsetDateTime); + EvaluationValue value = new EvaluationValue(offsetDateTime, defaultConfiguration()); assertThat(value.isDateTimeValue()).isTrue(); assertDataIsCorrect( @@ -239,7 +242,7 @@ } @Test void testStringDateTime() { - EvaluationValue value = new EvaluationValue("2022-10-30T11:20:30Z"); + EvaluationValue value = new EvaluationValue("2022-10-30T11:20:30Z", defaultConfiguration()); assertThat(value.isDateTimeValue()).isFalse(); assertDataIsCorrect( @@ -254,7 +257,7 @@ } @Test void testDuration() { - EvaluationValue value = new EvaluationValue(Duration.ofMinutes(1)); + EvaluationValue value = new EvaluationValue(Duration.ofMinutes(1), defaultConfiguration()); assertThat(value.isDurationValue()).isTrue(); assertDataIsCorrect( @@ -269,7 +272,7 @@ } @Test void testStringDuration() { - EvaluationValue value = new EvaluationValue("PT24H"); + EvaluationValue value = new EvaluationValue("PT24H", defaultConfiguration()); assertThat(value.isDurationValue()).isFalse(); assertDataIsCorrect( @@ -278,7 +281,7 @@ } @Test void testBigDecimal() { - EvaluationValue value = new EvaluationValue(new BigDecimal("123.5")); + EvaluationValue value = new EvaluationValue(new BigDecimal("123.5"), defaultConfiguration()); assertThat(value.isNumberValue()).isTrue(); assertDataIsCorrect( @@ -293,7 +296,7 @@ } @Test void testFloat() { - EvaluationValue value = new EvaluationValue((float) 4.5); + EvaluationValue value = new EvaluationValue((float) 4.5, defaultConfiguration()); assertThat(value.isNumberValue()).isTrue(); assertDataIsCorrect( @@ -308,7 +311,7 @@ } @Test void testDouble() { - EvaluationValue value = new EvaluationValue(8.5); + EvaluationValue value = new EvaluationValue(8.5, defaultConfiguration()); assertThat(value.isNumberValue()).isTrue(); assertDataIsCorrect( @@ -323,7 +326,7 @@ } @Test void testLong() { - EvaluationValue value = new EvaluationValue(6L); + EvaluationValue value = new EvaluationValue(6L, defaultConfiguration()); assertThat(value.isNumberValue()).isTrue(); assertDataIsCorrect( @@ -338,7 +341,7 @@ } @Test void testInteger() { - EvaluationValue value = new EvaluationValue(5); + EvaluationValue value = new EvaluationValue(5, defaultConfiguration()); assertThat(value.isNumberValue()).isTrue(); assertDataIsCorrect( @@ -353,7 +356,7 @@ } @Test void testShort() { - EvaluationValue value = new EvaluationValue((short) 4); + EvaluationValue value = new EvaluationValue((short) 4, defaultConfiguration()); assertThat(value.isNumberValue()).isTrue(); assertDataIsCorrect( @@ -368,7 +371,7 @@ } @Test void testByte() { - EvaluationValue value = new EvaluationValue((byte) 3); + EvaluationValue value = new EvaluationValue((byte) 3, defaultConfiguration()); assertThat(value.isNumberValue()).isTrue(); assertDataIsCorrect( @@ -384,7 +387,8 @@ @Test void testArray() { EvaluationValue value = - new EvaluationValue(Arrays.asList(new BigDecimal(1), new BigDecimal(2))); + new EvaluationValue( + Arrays.asList(new BigDecimal(1), new BigDecimal(2)), defaultConfiguration()); assertThat(value.isArrayValue()).isTrue(); assertThat(value.isNumberValue()).isFalse(); @@ -403,14 +407,14 @@ } @Test void testArrayEmpty() { - EvaluationValue value = new EvaluationValue(new BigDecimal(1)); + EvaluationValue value = new EvaluationValue(new BigDecimal(1), defaultConfiguration()); assertThat(value.getArrayValue()).isEmpty(); } @Test void testArrayNull() { - EvaluationValue value = new EvaluationValue(null); + EvaluationValue value = new EvaluationValue(null, defaultConfiguration()); assertThat(value.getArrayValue()).isNull(); } @@ -420,7 +424,7 @@ void testStructure() { Map structure = new HashMap<>(); structure.put("a", "Hello"); structure.put("b", new BigDecimal(99)); - EvaluationValue value = new EvaluationValue(structure); + EvaluationValue value = new EvaluationValue(structure, defaultConfiguration()); assertThat(value.isStructureValue()).isTrue(); assertThat(value.isNumberValue()).isFalse(); @@ -438,14 +442,14 @@ } @Test void testStructureEmpty() { - EvaluationValue value = new EvaluationValue(new BigDecimal(1)); + EvaluationValue value = new EvaluationValue(new BigDecimal(1), defaultConfiguration()); assertThat(value.getStructureValue()).isEmpty(); } @Test void testStructureNull() { - EvaluationValue value = new EvaluationValue(null); + EvaluationValue value = new EvaluationValue(null, defaultConfiguration()); assertThat(value.getStructureValue()).isNull(); } @@ -453,7 +457,7 @@ @Test void testExpressionNode() { ASTNode node = new ASTNode(new Token(1, "a", TokenType.VARIABLE_OR_CONSTANT)); - EvaluationValue value = new EvaluationValue(node); + EvaluationValue value = new EvaluationValue(node, defaultConfiguration()); assertThat(value.isExpressionNode()).isTrue(); assertThat(value.isNumberValue()).isFalse(); @@ -475,7 +479,7 @@ } @Test void testExpressionNodeReturnsNull() { - EvaluationValue value = new EvaluationValue(false); + EvaluationValue value = new EvaluationValue(false, defaultConfiguration()); assertThat(value.getExpressionNode()).isNull(); } @@ -490,31 +494,31 @@ } @Test void testCompare() { - assertThat(new EvaluationValue("Hello")).isEqualByComparingTo(new EvaluationValue("Hello")); - assertThat(new EvaluationValue(123)).isEqualByComparingTo(new EvaluationValue(123)); - assertThat(new EvaluationValue(true)).isEqualByComparingTo(new EvaluationValue(true)); + assertThat(new EvaluationValue("Hello", defaultConfiguration())) + .isEqualByComparingTo(new EvaluationValue("Hello", defaultConfiguration())); + assertThat(new EvaluationValue(123, defaultConfiguration())) + .isEqualByComparingTo(new EvaluationValue(123, defaultConfiguration())); + assertThat(new EvaluationValue(true, defaultConfiguration())) + .isEqualByComparingTo(new EvaluationValue(true, defaultConfiguration())); - assertThat(new EvaluationValue("Hello")).isGreaterThan(new EvaluationValue("Hell")); - assertThat(new EvaluationValue(124)).isGreaterThan(new EvaluationValue(123)); - assertThat(new EvaluationValue(true)).isGreaterThan(new EvaluationValue(false)); + assertThat(new EvaluationValue("Hello", defaultConfiguration())) + .isGreaterThan(new EvaluationValue("Hell", defaultConfiguration())); + assertThat(new EvaluationValue(124, defaultConfiguration())) + .isGreaterThan(new EvaluationValue(123, defaultConfiguration())); + assertThat(new EvaluationValue(true, defaultConfiguration())) + .isGreaterThan(new EvaluationValue(false, defaultConfiguration())); - assertThat(new EvaluationValue("Hell")).isLessThan(new EvaluationValue("Hello")); - assertThat(new EvaluationValue(123)).isLessThan(new EvaluationValue(124)); - assertThat(new EvaluationValue(false)).isLessThan(new EvaluationValue(true)); - } - - @Test - void testDoubleMathContext() { - assertThat(new EvaluationValue(3.9876, MathContext.DECIMAL64).getNumberValue()) - .isEqualByComparingTo("3.9876"); - - assertThat(new EvaluationValue(3.9876, new MathContext(3)).getNumberValue()) - .isEqualByComparingTo("3.99"); + assertThat(new EvaluationValue("Hell", defaultConfiguration())) + .isLessThan(new EvaluationValue("Hello", defaultConfiguration())); + assertThat(new EvaluationValue(123, defaultConfiguration())) + .isLessThan(new EvaluationValue(124, defaultConfiguration())); + assertThat(new EvaluationValue(false, defaultConfiguration())) + .isLessThan(new EvaluationValue(true, defaultConfiguration())); } @Test void testNull() { - EvaluationValue value = new EvaluationValue(null); + EvaluationValue value = new EvaluationValue(null, defaultConfiguration()); assertThat(value.isStringValue()).isFalse(); assertThat(value.isNumberValue()).isFalse(); @@ -529,14 +533,14 @@ @Test void nestedEvaluationValue() { try { - EvaluationValue value1 = new EvaluationValue("Hello"); - EvaluationValue value2 = new EvaluationValue("World"); + EvaluationValue value1 = new EvaluationValue("Hello", defaultConfiguration()); + EvaluationValue value2 = new EvaluationValue("World", defaultConfiguration()); Map structure = new HashMap<>(); structure.put("a", value1); structure.put("b", value2); - EvaluationValue structureMap = new EvaluationValue(structure); + EvaluationValue structureMap = new EvaluationValue(structure, defaultConfiguration()); Expression exp = new Expression("value.a == \"Hello\"").with("value", structureMap); @@ -545,6 +549,26 @@ assertThat(result.getBooleanValue()).isTrue(); } catch (EvaluationException | ParseException e) { e.printStackTrace(); } + } + + @Test + @SuppressWarnings("removal") + void testDeprecatedDoubleMathContext() { + EvaluationValue evaluationValue64 = + new EvaluationValue(3.9876, MathContext.DECIMAL64); // NOSONAR - deprecated + assertThat(evaluationValue64.getNumberValue()).isEqualByComparingTo("3.9876"); + + EvaluationValue evaluationValue3 = + new EvaluationValue(3.9876, new MathContext(3)); // NOSONAR - deprecated + assertThat(evaluationValue3.getNumberValue()).isEqualByComparingTo("3.99"); + } + + @Test + @SuppressWarnings("removal") + void testDeprecatedConstructor() { + EvaluationValue value = new EvaluationValue("124"); // NOSONAR - deprecated + assertThat(value.isStringValue()).isTrue(); + assertThat(value.getStringValue()).isEqualTo("124"); } private void assertDataIsCorrect( diff --git a/src/test/java/com/ezylang/evalex/data/MapBasedDataAccessorTest.java b/src/test/java/com/ezylang/evalex/data/MapBasedDataAccessorTest.java --- a/src/test/java/com/ezylang/evalex/data/MapBasedDataAccessorTest.java +++ b/src/test/java/com/ezylang/evalex/data/MapBasedDataAccessorTest.java @@ -26,9 +26,9 @@ @Test void testSetGetData() { DataAccessorIfc dataAccessor = new MapBasedDataAccessor(); - EvaluationValue num = new EvaluationValue(new BigDecimal("123")); - EvaluationValue string = new EvaluationValue("hello"); - EvaluationValue bool = new EvaluationValue(true); + EvaluationValue num = EvaluationValue.numberValue(new BigDecimal("123")); + EvaluationValue string = EvaluationValue.stringValue("hello"); + EvaluationValue bool = EvaluationValue.booleanValue(true); dataAccessor.setData("num", num); dataAccessor.setData("string", string); @@ -43,7 +43,7 @@ @Test void testCaseInsensitivity() { DataAccessorIfc dataAccessor = new MapBasedDataAccessor(); - EvaluationValue num = new EvaluationValue(new BigDecimal("123")); + EvaluationValue num = EvaluationValue.numberValue(new BigDecimal("123")); dataAccessor.setData("Hello", num); assertThat(dataAccessor.getData("Hello")).isEqualTo(num); diff --git a/src/test/java/com/ezylang/evalex/functions/FunctionTest.java b/src/test/java/com/ezylang/evalex/functions/FunctionTest.java --- a/src/test/java/com/ezylang/evalex/functions/FunctionTest.java +++ b/src/test/java/com/ezylang/evalex/functions/FunctionTest.java @@ -67,7 +67,7 @@ private static class CorrectFunctionDefinitionFunction extends AbstractFunction { @Override public EvaluationValue evaluate( Expression expression, Token functionToken, EvaluationValue... parameterValues) { - return new EvaluationValue("OK"); + return EvaluationValue.stringValue("OK"); } } @@ -78,7 +78,7 @@ private static class WrongVarargFunctionDefinitionFunction extends AbstractFunction { @Override public EvaluationValue evaluate( Expression expression, Token functionToken, EvaluationValue... parameterValues) { - return new EvaluationValue("OK"); + return EvaluationValue.stringValue("OK"); } } } diff --git a/src/test/java/com/ezylang/evalex/operators/OperatorTest.java b/src/test/java/com/ezylang/evalex/operators/OperatorTest.java --- a/src/test/java/com/ezylang/evalex/operators/OperatorTest.java +++ b/src/test/java/com/ezylang/evalex/operators/OperatorTest.java @@ -87,7 +87,7 @@ private static class DummyAnnotationOperator extends AbstractOperator { @Override public EvaluationValue evaluate( Expression expression, Token operatorToken, EvaluationValue... operands) { - return new EvaluationValue("OK"); + return EvaluationValue.stringValue("OK"); } } } diff --git a/src/test/java/com/ezylang/evalex/parser/TokenizerLiteralOperatorsTest.java b/src/test/java/com/ezylang/evalex/parser/TokenizerLiteralOperatorsTest.java --- a/src/test/java/com/ezylang/evalex/parser/TokenizerLiteralOperatorsTest.java +++ b/src/test/java/com/ezylang/evalex/parser/TokenizerLiteralOperatorsTest.java @@ -62,7 +62,8 @@ static class AndOperator extends AbstractOperator { @Override public EvaluationValue evaluate( Expression expression, Token operatorToken, EvaluationValue... operands) { - return new EvaluationValue(operands[0].getBooleanValue() && operands[1].getBooleanValue()); + return EvaluationValue.booleanValue( + operands[0].getBooleanValue() && operands[1].getBooleanValue()); } } @@ -71,7 +72,8 @@ static class OrOperator extends AbstractOperator { @Override public EvaluationValue evaluate( Expression expression, Token operatorToken, EvaluationValue... operands) { - return new EvaluationValue(operands[0].getBooleanValue() || operands[1].getBooleanValue()); + return EvaluationValue.booleanValue( + operands[0].getBooleanValue() || operands[1].getBooleanValue()); } } @@ -80,7 +82,7 @@ static class NotOperator extends AbstractOperator { @Override public EvaluationValue evaluate( Expression expression, Token operatorToken, EvaluationValue... operands) { - return new EvaluationValue(!operands[0].getBooleanValue()); + return EvaluationValue.booleanValue(!operands[0].getBooleanValue()); } } @@ -89,7 +91,7 @@ static class DeniedOperator extends AbstractOperator { @Override public EvaluationValue evaluate( Expression expression, Token operatorToken, EvaluationValue... operands) { - return new EvaluationValue(!operands[0].getBooleanValue()); + return EvaluationValue.booleanValue(!operands[0].getBooleanValue()); } } }