KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > util > NonPortableReasonTest


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.util;
5
6 import com.tc.text.NonPortableReasonFormatter;
7
8 import java.util.LinkedList JavaDoc;
9 import java.util.List JavaDoc;
10
11 import junit.framework.TestCase;
12
13 public class NonPortableReasonTest extends TestCase {
14   private NonPortableReason reason;
15
16   public void setUp() {
17     this.reason = new NonPortableReason(getClass(), NonPortableReason.TEST_REASON);
18   }
19
20   public void testAcceptFormatter() {
21     TestNonPortableReasonFormatter formatter = new TestNonPortableReasonFormatter();
22     this.reason.addDetail("label1", "value1");
23     this.reason.addDetail("label2", "value2");
24     this.reason.accept(formatter);
25
26     // make sure the detail text was formatted
27
assertEquals(1, formatter.formatReasonTextCalls.size());
28
29     // make sure the details were formatted
30
assertEquals(2, formatter.formatDetailsCalls.size());
31     assertReasonEquals("label1", "value1", formatter.formatDetailsCalls.get(0));
32     assertReasonEquals("label2", "value2", formatter.formatDetailsCalls.get(1));
33   }
34
35   private void assertReasonEquals(String JavaDoc label, String JavaDoc value, Object JavaDoc o) {
36     NonPortableDetail detail = (NonPortableDetail)o;
37     assertEquals(label, detail.getLabel());
38     assertEquals(value, detail.getValue());
39   }
40
41   private static final class TestNonPortableReasonFormatter implements NonPortableReasonFormatter {
42
43     public final List JavaDoc formatReasonTextCalls = new LinkedList JavaDoc();
44     public final List JavaDoc formatDetailsCalls = new LinkedList JavaDoc();
45     public final List JavaDoc flushCalls = new LinkedList JavaDoc();
46
47     public void formatReasonText(String JavaDoc reasonText) {
48       formatReasonTextCalls.add(reasonText);
49     }
50
51     public void formatDetail(NonPortableDetail detail) {
52       formatDetailsCalls.add(detail);
53     }
54
55     public void flush() {
56       flushCalls.add(new Object JavaDoc());
57     }
58
59     public void formatReasonTypeName(byte reasonType) {
60       return;
61     }
62
63   }
64 }
65
Popular Tags