Merge branch 'MDL-29173_calc_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE

This commit is contained in:
Dan Poltawski
2012-06-04 16:22:07 +08:00
2 changed files with 19 additions and 1 deletions
+1 -1
View File
@@ -107,7 +107,7 @@ class EvalMath {
'sin','sinh','arcsin','asin','arcsinh','asinh',
'cos','cosh','arccos','acos','arccosh','acosh',
'tan','tanh','arctan','atan','arctanh','atanh',
'sqrt','abs','ln','log','exp','floor','ceil','round');
'sqrt','abs','ln','log','exp','floor','ceil');
var $fc = array( // calc functions emulation
'average'=>array(-1), 'max'=>array(-1), 'min'=>array(-1),
+18
View File
@@ -149,6 +149,10 @@ class mathsslib_test extends UnitTestCase {
}
public function test_rounding_function() {
// Rounding to the default number of decimal places
// The default == 0
$formula = new calc_formula('=round(2.5)');
$this->assertEqual($formula->evaluate(), 3);
@@ -203,6 +207,20 @@ class mathsslib_test extends UnitTestCase {
$formula = new calc_formula('=floor(-2.5)');
$this->assertEqual($formula->evaluate(), -3);
// Rounding to an explicit number of decimal places
$formula = new calc_formula('=round(2.5, 1)');
$this->assertEqual($formula->evaluate(), 2.5);
$formula = new calc_formula('=round(2.5, 0)');
$this->assertEqual($formula->evaluate(), 3);
$formula = new calc_formula('=round(1.2345, 2)');
$this->assertEqual($formula->evaluate(), 1.23);
$formula = new calc_formula('=round(123.456, -1)');
$this->assertEqual($formula->evaluate(), 120);
}
public function test_scientific_notation() {