[apps/calculation] Don't display exact result for condifence/prediction

This commit is contained in:
Léa Saviot
2019-07-08 09:55:16 +02:00
committed by Émilie Feral
parent 9742e019d9
commit 1642df476a
2 changed files with 8 additions and 2 deletions

View File

@@ -174,10 +174,13 @@ Calculation::DisplayOutput Calculation::displayOutput(Context * context) {
m_displayOutput = DisplayOutput::ExactOnly;
} else if (input().recursivelyMatches(
[](const Expression e, Context * c) {
/* If the input contains Random or Round we only display the
/* If the input contains the following types, we only display the
* approximate output. */
ExpressionNode::Type t = e.type();
return (t == ExpressionNode::Type::Random) || (t == ExpressionNode::Type::Round);
return (t == ExpressionNode::Type::Random)
|| (t == ExpressionNode::Type::Round)
|| (t == ExpressionNode::Type::ConfidenceInterval)
|| (t == ExpressionNode::Type::PredictionInterval);
},
context, true))
{

View File

@@ -109,6 +109,9 @@ QUIZ_CASE(calculation_display_exact_approximate) {
assertCalculationDisplay("1+1+random()", ::Calculation::Calculation::DisplayOutput::ApproximateOnly, ::Calculation::Calculation::EqualSign::Unknown, nullptr, nullptr, &globalContext, &store);
assertCalculationDisplay("1+1+round(1.343,2)", ::Calculation::Calculation::DisplayOutput::ApproximateOnly, ::Calculation::Calculation::EqualSign::Unknown, nullptr, "3.34", &globalContext, &store);
assertCalculationDisplay("randint(2,2)+3", ::Calculation::Calculation::DisplayOutput::ApproximateOnly, ::Calculation::Calculation::EqualSign::Unknown, "5", "5", &globalContext, &store);
assertCalculationDisplay("confidence(0.5,2)+3", ::Calculation::Calculation::DisplayOutput::ApproximateOnly, ::Calculation::Calculation::EqualSign::Unknown, nullptr, nullptr, &globalContext, &store);
assertCalculationDisplay("prediction(0.5,2)+3", ::Calculation::Calculation::DisplayOutput::ApproximateOnly, ::Calculation::Calculation::EqualSign::Unknown, nullptr, nullptr, &globalContext, &store);
assertCalculationDisplay("prediction95(0.5,2)+3", ::Calculation::Calculation::DisplayOutput::ApproximateOnly, ::Calculation::Calculation::EqualSign::Unknown, nullptr, nullptr, &globalContext, &store);
}