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