summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-01-12 19:31:40 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-01-12 19:31:40 +0100
commitb2a66673c2d7d67fbb967c17c038814c4cec166c (patch)
treeb549a511feb65c090a6da94131770c4783564e79 /src/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java
parentad9ec8854341770a84700d3df18c3a044a14f673 (diff)
downloadJava1-b2a66673c2d7d67fbb967c17c038814c4cec166c.tar.gz
Java1-b2a66673c2d7d67fbb967c17c038814c4cec166c.zip
Assignment No.13 first implementation.
Diffstat (limited to 'src/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java')
-rw-r--r--src/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java147
1 files changed, 147 insertions, 0 deletions
diff --git a/src/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java b/src/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java
new file mode 100644
index 0000000..14c0b90
--- /dev/null
+++ b/src/de/fhswf/in/inf/java1/aufgabe13/BinaryOperatorTests.java
@@ -0,0 +1,147 @@
+/**
+ *
+ */
+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<>();
+
+ test.add(3.0);
+ 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);
+ }
+
+}