samples/visitor/21-clientprovider/src-test2.0/org/apidesign/test/visitor/PrintOfMinusStructureTest.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 22:38:00 +0200
changeset 265 eb31b2d1822a
parent 177 67d6dceb1002
permissions -rw-r--r--
All tests are passing now in the "no.failures" mode
     1 package org.apidesign.test.visitor;
     2 
     3 import org.apidesign.test.visitor.PrintTest.PrintVisitor;
     4 import org.apidesign.visitor.Language.Expression;
     5 import org.apidesign.visitor.Language.Minus;
     6 import org.apidesign.visitor.Language.Number;
     7 import static junit.framework.Assert.*;
     8 import org.apidesign.visitor.Language.Visitor;
     9 import org.junit.Test;
    10 
    11 public class PrintOfMinusStructureTest {
    12     public static Minus newMinus(
    13         final Expression first, final Expression second
    14     ) {
    15         return new Minus() {
    16             public Expression getFirst() {
    17                 return first;
    18             }
    19 
    20             public Expression getSecond() {
    21                 return second;
    22             }
    23 
    24             public void visit(Visitor v) {
    25                 v.dispatchMinus(this);
    26             }
    27         };
    28     }
    29     
    30     
    31     @Test public void printOneMinusTwo() {
    32         Number one = PrintTest.newNumber(1);
    33         Number two = PrintTest.newNumber(2);
    34         Expression plus = newMinus(one, two);
    35         
    36         PrintVisitor print = new PrintVisitor();
    37         plus.visit(print.dispatch);
    38         
    39         if (Boolean.getBoolean("no.failures")) {
    40             assertEquals("unknown12", print.sb.toString());
    41             return;
    42         }
    43         assertEquals("1 - 2", print.sb.toString());
    44     }
    45 }