From 16918ca97d460e0cd1c19abfe5848284b1941d79 Mon Sep 17 00:00:00 2001 From: Erik Coccagna <ecoccagna@student.tugraz.at> Date: Tue, 31 Dec 2024 16:23:15 +0100 Subject: [PATCH] CATROID-1364 List show 1/0 instead of true/false Working to resolve issue that 1/0 is shown after adding List element again to list or assigning it to a variable. CATROID-1364 List show 1/0 instead of true/false Resolve issue that 1/0 is shown after adding List element again to list or assigning it to a variable. --- .../testBooleanInListDisplaysTrueFalse.catrobat | Bin 0 -> 24036 bytes .../content/actions/AssertEqualsAction.kt | 7 +++++++ .../common/FormulaElementOperations.kt | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 catroid/src/androidTest/assets/catrobatTests/bricks/data/testBooleanInListDisplaysTrueFalse.catrobat diff --git a/catroid/src/androidTest/assets/catrobatTests/bricks/data/testBooleanInListDisplaysTrueFalse.catrobat b/catroid/src/androidTest/assets/catrobatTests/bricks/data/testBooleanInListDisplaysTrueFalse.catrobat new file mode 100644 index 0000000000000000000000000000000000000000..da9b933a4f687539acf9b7e0b91a1346a310631c GIT binary patch literal 24036 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 Ef3jGU5&!@I literal 0 HcmV?d00001 diff --git a/catroid/src/main/java/org/catrobat/catroid/content/actions/AssertEqualsAction.kt b/catroid/src/main/java/org/catrobat/catroid/content/actions/AssertEqualsAction.kt index 39dc434e54d..41f038fa0b0 100644 --- a/catroid/src/main/java/org/catrobat/catroid/content/actions/AssertEqualsAction.kt +++ b/catroid/src/main/java/org/catrobat/catroid/content/actions/AssertEqualsAction.kt @@ -28,6 +28,7 @@ import org.catrobat.catroid.formulaeditor.FormulaElement.ElementType.OPERATOR import org.catrobat.catroid.formulaeditor.FormulaElement.ElementType.FUNCTION import org.catrobat.catroid.formulaeditor.Functions.FALSE import org.catrobat.catroid.formulaeditor.Functions.TRUE +import org.catrobat.catroid.formulaeditor.common.Conversions class AssertEqualsAction : AssertAction() { var actualFormula: Formula? = null @@ -48,6 +49,12 @@ class AssertEqualsAction : AssertAction() { actualValue = actualFormula!!.interpretObject(scope) expectedValue = expectedFormula!!.interpretObject(scope) + if (actualValue == true || actualValue == false){ + actualValue = Conversions.booleanToDouble(actualValue as Boolean) + } + if (expectedValue == true || expectedValue == false){ + expectedValue = Conversions.booleanToDouble(expectedValue as Boolean) + } if (!equalValues(actualValue.toString(), expectedValue.toString())) { convertValuesToBooleanString() failWith(formattedAssertEqualsError(actualValue, expectedValue)) diff --git a/catroid/src/main/java/org/catrobat/catroid/formulaeditor/common/FormulaElementOperations.kt b/catroid/src/main/java/org/catrobat/catroid/formulaeditor/common/FormulaElementOperations.kt index d7312a487fa..4bbf0d7e724 100644 --- a/catroid/src/main/java/org/catrobat/catroid/formulaeditor/common/FormulaElementOperations.kt +++ b/catroid/src/main/java/org/catrobat/catroid/formulaeditor/common/FormulaElementOperations.kt @@ -83,6 +83,7 @@ object FormulaElementOperations { } catch (_: NumberFormatException) { Double.NaN } + is Boolean -> if(obj) 1.0 else 0.0 else -> obj as Double } } @@ -92,7 +93,7 @@ object FormulaElementOperations { return when (value) { is String, is Char -> value - is Boolean -> Conversions.booleanToDouble(value) + is Boolean -> value is Int -> value.toDouble() is Double -> when (value) { Double.NEGATIVE_INFINITY -> -Double.MAX_VALUE