## File: test.pl

package info (click to toggle)
libmath-calculus-differentiate-perl 0.3-2
 `1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889` ``````# Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl test.pl' ######################### use Test; BEGIN { plan tests => 12 } my \$res; ## BASIC MODULE TESTS # Check include of module works. use Math::Calculus::Differentiate; ok(1); # Create object. my \$exp = Math::Calculus::Differentiate->new; ok(\$exp); # Add a variable. \$res = \$exp->addVariable('x'); ok(\$res); ## REGRESSION TESTS # d[x] = 1 \$exp->setExpression('x'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq '1'); # d[-x] = -1 \$exp->setExpression('-x'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq '-1'); # d[x^2 + 4*x + 5] = 2*x + 4 \$exp->setExpression('x^2 + 4*x + 5'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq '2*x + 4'); # d[sin(-2 * x)] = -2*cos(-2*x) \$exp->setExpression('sin(-2 * x)'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq '-2*cos(-2*x)'); # d[asin(x)] = 1/(1 - x^2)^0.5 \$exp->setExpression('asin(x)'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq '1/(1 - x^2)^0.5'); # d[ln(x^2)] = (2*x)/x^2 \$exp->setExpression('ln(x^2)'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq '(2*x)/x^2'); # d[x^x] = exp(ln(x)*x)*(1 + ln(x)) \$exp->setExpression('x^x'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq 'exp(ln(x)*x)*(1 + ln(x))'); # d[x/x] = 0 \$exp->setExpression('x/x'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq '0'); # d[x - x] = 0 \$exp->setExpression('x - x'); \$exp->differentiate('x'); \$exp->simplify; \$res = \$exp->getExpression; ok(\$res eq '0'); ``````