diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-01-14 14:12:03 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-01-14 14:12:03 +0100 |
| commit | dc5ea1e78eee529090d739774889639fab1c181c (patch) | |
| tree | 2acee44930f7d9227aa1dbb1d6256bfaad245cda /tests/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java | |
| parent | 1b7c58e24ac4a143521aa0a77f6a1a486a1dca39 (diff) | |
| download | Java1-dc5ea1e78eee529090d739774889639fab1c181c.tar.gz Java1-dc5ea1e78eee529090d739774889639fab1c181c.zip | |
Assignment No.13 after correction
Diffstat (limited to 'tests/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java')
| -rw-r--r-- | tests/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/tests/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java b/tests/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java new file mode 100644 index 0000000..238c865 --- /dev/null +++ b/tests/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java @@ -0,0 +1,148 @@ +/** + * + */ +package de.fhswf.in.inf.java1.aufgabe13; + +import static org.junit.Assert.assertEquals; + +import java.util.Stack; + +import org.junit.Test; + +import de.fhswf.in.inf.java1.aufgabe12.Addition; +import de.fhswf.in.inf.java1.aufgabe12.BinaryOperator; +import de.fhswf.in.inf.java1.aufgabe12.BinaryTemplate; +import de.fhswf.in.inf.java1.aufgabe12.Division; +import de.fhswf.in.inf.java1.aufgabe12.Modulo; +import de.fhswf.in.inf.java1.aufgabe12.Multiplication; +import de.fhswf.in.inf.java1.aufgabe12.Subtraction; + +/** + * Tests the BinaryOperators. + * + * @author $Author: $ + * @version $Revision: $, $Date: $ UTC + */ +public class BinaryOperatorTests +{ + + /** + * Test for the Addition class. + */ + @Test + public final void testOperatorAddition() + { + // Sin is tested + BinaryOperator tester = new Addition(); + + // Test + Stack<Double> test = new Stack<>(); + + test.add(1.0); + test.add(1.0); + tester.eval(test); + + assertEquals(2.0, (double) test.pop(), 0); + } + + /** + * Test for the Division class. + */ + @Test + public final void testOperatorDivision() + { + // Sin is tested + BinaryOperator tester = new Division(); + + // Test + Stack<Double> test = new Stack<>(); + + test.add(2.0); + test.add(2.0); + tester.eval(test); + + assertEquals(1.0, (double) test.pop(), 0); + } + + /** + * Test for the Modulo class. + */ + @Test + public final void testOperatorModulo() + { + // Sin is tested + BinaryOperator tester = new Modulo(); + + // Test + Stack<Double> test = new Stack<>(); + + final double firstOperator = 3.0; + test.add(firstOperator); + test.add(2.0); + tester.eval(test); + + assertEquals(1.0, (double) test.pop(), 0); + } + + /** + * Test for the Multiplication class. + */ + @Test + public final void testOperatorMultiplication() + { + // Sin is tested + BinaryOperator tester = new Multiplication(); + + // Test + Stack<Double> test = new Stack<>(); + + test.add(2.0); + test.add(2.0); + tester.eval(test); + + final double expected = 4.0; + assertEquals(expected, (double) test.pop(), 0); + } + + /** + * Test for the Subtraction class. + */ + @Test + public final void testOperatorSubtraction() + { + // Sin is tested + BinaryOperator tester = new Subtraction(); + + // Test + Stack<Double> test = new Stack<>(); + + test.add(2.0); + test.add(2.0); + tester.eval(test); + + assertEquals(0.0, (double) test.pop(), 0); + } + + /** + * Test for the BinaryTemplate class initialized with pow. + */ + @Test + public final void testOperatorPow() + { + // Sin is tested + BinaryOperator tester = new BinaryTemplate("pow"); + + // Test + Stack<Double> test = new Stack<>(); + + final double exponent = 3.0; + + test.add(2.0); + test.add(exponent); + tester.eval(test); + + final double expected = 8.0; + assertEquals(expected, (double) test.pop(), 0); + } + +} |
