samples/apifest1/day3-intermezzo/pnejedly/against-stackbasedsolution/test/apifest/CircuitTest.java
3 import java.util.Arrays;
4 import java.util.Stack;
5 import junit.framework.TestCase;
6 import org.netbeans.apifest.boolcircuit.Circuit;
7 import org.netbeans.apifest.boolcircuit.CircuitFactory;
8 import org.netbeans.apifest.boolcircuit.Operation;
11 /** Write a test that works with version from day A and fails with version B.
13 public class CircuitTest extends TestCase {
14 public CircuitTest(String n) {
20 public void testSourceComp() throws Exception {
21 Operation nand = new Operation() {
22 public char evaluate(char i1, char i2) throws IllegalArgumentException {
23 return i1 == '1' && i2 == '1' ? '0' : '1';
28 public void testSourceComp2() throws Exception {
29 Operation nand = new Operation() {
30 public char evaluate(char i1, char i2) throws IllegalArgumentException {
32 return i1 == '1' && i2 == '1' ? '0' : '1';
35 public char evaluate(double d1, double d2) {
41 public void testBinaryComp() throws Exception {
42 Operation nand = new Operation() {
43 public char evaluate(char i1, char i2) throws IllegalArgumentException {
44 return i1 == '1' && i2 == '1' ? '0' : '1';
47 Circuit cir = CircuitFactory.getBasicCircuit(nand);
49 Stack<Character> s = new Stack<Character> ();
50 s.addAll(Arrays.asList('0', '1'));
52 assertEquals('1', cir.evaluate(s));