diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-12-17 18:17:50 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-12-17 20:42:10 +0100 |
| commit | dea6d8f003e67deaeeb1ab32de392dc55aedb9c6 (patch) | |
| tree | 13a8eb0617b060c4f0b58e97ba931c45f7a13f41 /Aufgabe6/RPN/t | |
| parent | 3b05b110c7af055cfecc1621c18bf829132ed526 (diff) | |
| download | Skriptsprachen-dea6d8f003e67deaeeb1ab32de392dc55aedb9c6.tar.gz Skriptsprachen-dea6d8f003e67deaeeb1ab32de392dc55aedb9c6.zip | |
Add given tests
Diffstat (limited to 'Aufgabe6/RPN/t')
| -rw-r--r-- | Aufgabe6/RPN/t/RPN.t | 116 |
1 files changed, 115 insertions, 1 deletions
diff --git a/Aufgabe6/RPN/t/RPN.t b/Aufgabe6/RPN/t/RPN.t index a9b78d5..d14cd1b 100644 --- a/Aufgabe6/RPN/t/RPN.t +++ b/Aufgabe6/RPN/t/RPN.t @@ -11,7 +11,7 @@ use warnings; # Include RPN for testing use RPN; -use Test::More tests => 2; +use Test::More tests => 18; BEGIN { use_ok('RPN') }; ######################### @@ -23,8 +23,122 @@ my $expression; my $expect; my $result; +# Test 2 $expression = 42; $expect = 42; $result = RPN::rpn($expression); is ($result, $expect, 'Test 2'); + +# Test 3 +$expression = "5 3 + 8 3 - * 2 / 3 %"; +$expect = 2; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 3'); + +# Test 4 +$expression = "5 ++ ++ ++ ++ ++"; +$expect = 10; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 4'); + +# Test 5 +$expression = "10 -- -- -- -- --"; +$expect = 5; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 5'); + +# Test 6 +$expression = "-5 ABS"; +$expect = 5; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 6'); + +# Test 7 +$expression = "2.33242123 3.123123142312 + INT"; +$expect = 5; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 7'); + +# Test 8 +$expression = "PI INT"; +$expect = 3; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 8'); + +# Test 9 +$expression = "100 LOG EXP"; +$expect = 100; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 9'); + +# Test 10 +$expression = "2 12 POW SQRT"; +$expect = 64; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 10'); + +# Test 11 +$expression = "1.1 SIN DUP * 1.1 COS DUP * + ROUND"; +$expect = 1; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 11'); + +# Test 12 +$expression = ".11 SIN .11 COS / .11 TAN - ROUND"; +$expect = 0; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 12'); + +# Test 13 +$expression = ".11 SIN .11 COS ATAN2 .11 - ROUND"; +$expect = 0; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 13'); + +# Test 14 +$expression = "6 18 EXCH / DUP 5 MAX * DUP 3 / EXCH POP DUP 3 * MAX"; +$expect = 15; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 14'); + +# Test 15 +$expression = "20 10 MIN 7 MIN 30 MIN"; +$expect = 7; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 15'); + +# Test 16 +$expression = "20 10 MAX 7 MAX 30 MAX"; +$expect = 30; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 16'); + +# Test 17 +$expression = "PI SIN ROUND"; +$expect = 0; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 17'); + +# Test 18 +$expression = "PI COS 1 + ROUND"; +$expect = 0; +$result = RPN::rpn($expression); + +is ($result, $expect, 'Test 18'); + |
