Add some math tests for invalid inputs

This commit is contained in:
ridiculousfish 2017-11-24 23:04:44 -08:00
parent 3faccc8b3e
commit 67a6f756f2
4 changed files with 17 additions and 1 deletions

View file

@ -168,7 +168,7 @@ ValueOrError Parser::Min(const value_type *a_afArg, int a_iArgc) {
\param [in] a_iArgc The size of a_afArg
*/
ValueOrError Parser::Max(const value_type *a_afArg, int a_iArgc) {
if (!a_iArgc) throw exception_type(_T("too few arguments for function min."));
if (!a_iArgc) throw exception_type(_T("too few arguments for function max."));
value_type fRes = a_afArg[0];
for (int i = 0; i < a_iArgc; ++i) fRes = std::max(fRes, a_afArg[i]);

View file

@ -4,3 +4,10 @@
####################
# Validate how variables in an expression are handled
####################
# Validate math error reporting
math: Invalid expression: Too few parameters for function "min" at expression position 5
math: Invalid expression: String value used where a numerical argument is expected.
math: Invalid expression: Too few parameters for function "max" at expression position 5
math: Invalid expression: Too few parameters for function "sum" at expression position 5

View file

@ -22,3 +22,9 @@ set x 3
set y 1.5
math "-$x * $y"
math -s1 "-$x * $y"
logmsg Validate math error reporting
not math 'min()'
not math 'min("abc")'
not math 'max()'
not math 'sum()'

View file

@ -22,3 +22,6 @@
2
-4
-4.5
####################
# Validate math error reporting