[poincare] Add tests on random

This commit is contained in:
Léa Saviot
2019-02-28 11:37:49 +01:00
committed by Émilie Feral
parent b3d0de564a
commit 928aaa2575
2 changed files with 32 additions and 0 deletions

View File

@@ -167,6 +167,7 @@ tests += $(addprefix poincare/test/,\
power.cpp\
properties.cpp\
rational.cpp\
random.cpp\
simplify.cpp\
store.cpp\
subtraction.cpp\

31
poincare/test/random.cpp Normal file
View File

@@ -0,0 +1,31 @@
#include <quiz.h>
#include <poincare/integer.h>
#include <poincare/rational.h>
#include <poincare/random.h>
#include <assert.h>
#include "helper.h"
#include "tree/helpers.h"
using namespace Poincare;
QUIZ_CASE(poincare_random_simplify) {
assert_parsed_expression_simplify_to("1/random()+1/3+1/4", "1/random()+7/12");
assert_parsed_expression_simplify_to("random()+random()", "random()+random()");
assert_parsed_expression_simplify_to("random()-random()", "-random()+random()");
assert_parsed_expression_simplify_to("1/random()+1/3+1/4+1/random()", "1/random()+1/random()+7/12");
assert_parsed_expression_simplify_to("random()×random()", "random()×random()");
assert_parsed_expression_simplify_to("random()/random()", "random()/random()");
assert_parsed_expression_simplify_to("3^random()×3^random()", "3^random()×3^random()");
assert_parsed_expression_simplify_to("random()×ln(2)×3+random()×ln(2)×5", "5×ln(2)×random()+3×ln(2)×random()");
}
QUIZ_CASE(poincare_randint_simplify) {
assert_parsed_expression_simplify_to("1/randint(3,10)+1/3+1/4", "1/randint(3,10)+7/12");
assert_parsed_expression_simplify_to("randint(3,10)+randint(3,10)", "randint(3,10)+randint(3,10)");
assert_parsed_expression_simplify_to("randint(3,10)-randint(3,10)", "-randint(3,10)+randint(3,10)");
assert_parsed_expression_simplify_to("1/randint(3,10)+1/3+1/4+1/randint(3,10)", "1/randint(3,10)+1/randint(3,10)+7/12");
assert_parsed_expression_simplify_to("randint(3,10)×randint(3,10)", "randint(3,10)×randint(3,10)");
assert_parsed_expression_simplify_to("randint(3,10)/randint(3,10)", "randint(3,10)/randint(3,10)");
assert_parsed_expression_simplify_to("3^randint(3,10)×3^randint(3,10)", "3^randint(3,10)×3^randint(3,10)");
assert_parsed_expression_simplify_to("randint(3,10)×ln(2)×3+randint(3,10)×ln(2)×5", "5×ln(2)×randint(3,10)+3×ln(2)×randint(3,10)");
}