BEGIN { plan
tests
=> 9 }
my
$m
= new Math::Expression::Evaluator;
sub
o {
return
$m
->parse(
shift
)->optimize->val();
}
sub
e {
return
$m
->parse(
shift
)->val();
}
sub
c {
return
&{
$m
->parse(
shift
)->compiled}();
}
my
@tests
= (
[
'1 2'
, 2,
'space delimited expressions'
],
[
'1; 2'
, 2,
'colon delimited expressions'
],
[
'(1+2) (3-8)'
, -5,
'space delimited expressions 2'
],
);
for
(
@tests
){
is e(
$_
->[0]),
$_
->[1],
$_
->[2];
is o(
$_
->[0]),
$_
->[1],
$_
->[2] .
' (optimized)'
;
is c(
$_
->[0]),
$_
->[1],
$_
->[2] .
' (compiled)'
;
}