diff --git a/poincare/src/division.cpp b/poincare/src/division.cpp index 409d857ce2..d3ebcd058f 100644 --- a/poincare/src/division.cpp +++ b/poincare/src/division.cpp @@ -52,7 +52,8 @@ bool DivisionNode::childNeedsSystemParenthesesAtSerialization( return static_cast(child)->isOfType( {Type::Subtraction, Type::Opposite, Type::Multiplication, Type::Division, Type::Addition, Type::PercentSimple, Type::PercentAddition, - Type::MixedFraction, Type::Comparison}); + Type::MixedFraction, Type::Comparison, Type::LogicalOperatorNot, + Type::BinaryLogicalOperator}); } size_t DivisionNode::serialize(char *buffer, size_t bufferSize, diff --git a/poincare/test/expression_serialization.cpp b/poincare/test/expression_serialization.cpp index 3da0f41eb8..1f2fec8714 100644 --- a/poincare/test/expression_serialization.cpp +++ b/poincare/test/expression_serialization.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -11,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -314,6 +316,17 @@ QUIZ_CASE(poincare_serialization_power) { BinaryLogicalOperator::Builder( BasedInteger::Builder(3), BasedInteger::Builder(4), BinaryLogicalOperatorNode::OperatorType::Or)))); + assert_expression_serializes_and_parses_to_itself( + AbsoluteValue::Builder(PercentAddition::Builder( + BasedInteger::Builder(0), + Division::Builder( + BasedInteger::Builder(0), + BinaryLogicalOperator::Builder( + Symbol::Builder("r", 1), + Multiplication::Builder( + Symbol::Builder("o", 1), Symbol::Builder("m0", 2), + Parenthesis::Builder(BasedInteger::Builder(0))), + BinaryLogicalOperatorNode::OperatorType::And))))); } QUIZ_CASE(poincare_serialization_derivative) {