KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > text > NonPortableReasonFormatterTest


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tc.text;
5
6 import com.tc.util.NonPortableDetail;
7
8 import java.io.PrintWriter JavaDoc;
9 import java.io.StringWriter JavaDoc;
10 import java.util.LinkedList JavaDoc;
11 import java.util.List JavaDoc;
12
13 import junit.framework.TestCase;
14
15 public class NonPortableReasonFormatterTest extends TestCase {
16
17   private NonPortableReasonFormatter formatter;
18   private PrintWriter JavaDoc out;
19   private TestParagraphFormatter paragraphFormatter;
20   private StringFormatter stringFormatter;
21   private StringWriter JavaDoc stringWriter;
22   private String JavaDoc separator;
23
24   public void setUp() {
25     stringFormatter = new StringFormatter();
26     stringWriter = new StringWriter JavaDoc();
27     out = new PrintWriter JavaDoc(stringWriter);
28     separator = ": ";
29     paragraphFormatter = new TestParagraphFormatter();
30     formatter = new ConsoleNonPortableReasonFormatter(out, separator, stringFormatter, paragraphFormatter);
31   }
32
33   public void testBasics() {
34     
35     String JavaDoc reasonText = "my reason text";
36     formatter.formatReasonText(reasonText);
37     assertEquals(1, paragraphFormatter.formatCalls.size());
38     assertEquals(reasonText, paragraphFormatter.formatCalls.get(0));
39     
40     // check the formatting of details
41
NonPortableDetail detail1 = new NonPortableDetail("0123456789", "0123456789");
42     NonPortableDetail detail2 = new NonPortableDetail("0123", "0123");
43     formatter.formatDetail(detail1);
44     formatter.formatDetail(detail2);
45
46     StringBuffer JavaDoc expected = new StringBuffer JavaDoc();
47     expected.append(reasonText + stringFormatter.newline());
48     expected.append(stringFormatter.newline());
49     expected.append("0123456789" + separator + "0123456789" + stringFormatter.newline());
50     expected.append("0123 " + separator + "0123");
51
52     // check formatting
53
formatter.flush();
54     System.err.println("Expecting: <" + expected + ">, found: <" + stringWriter.getBuffer().toString() + ">");
55     assertEquals(expected.toString(), stringWriter.getBuffer().toString());
56     formatter.flush();
57     assertEquals(expected.toString(), stringWriter.getBuffer().toString());
58   }
59
60   private static final class TestParagraphFormatter implements ParagraphFormatter {
61
62     public final List JavaDoc formatCalls = new LinkedList JavaDoc();
63     
64     public String JavaDoc format(String JavaDoc in) {
65       formatCalls.add(in);
66       return in;
67     }
68   }
69 }
70
Popular Tags