KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > archive > util > PaddingStringBufferTest


1 /* PaddingStringBufferTest
2  *
3  * $Id: PaddingStringBufferTest.java,v 1.4.32.1 2007/01/13 01:31:40 stack-sf Exp $
4  *
5  * Created Tue Jan 20 14:17:59 PST 2004
6  *
7  * Copyright (C) 2004 Internet Archive.
8  *
9  * This file is part of the Heritrix web crawler (crawler.archive.org).
10  *
11  * Heritrix is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser Public License as published by
13  * the Free Software Foundation; either version 2.1 of the License, or
14  * any later version.
15  *
16  * Heritrix is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser Public License
22  * along with Heritrix; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  */

25
26 package org.archive.util;
27
28 import junit.framework.Test;
29 import junit.framework.TestCase;
30 import junit.framework.TestSuite;
31
32 /**
33  * JUnit test suite for PaddingStringBuffer
34  *
35  * @author <a HREF="mailto:me@jamesc.net">James Casey</a>
36  * @version $Id: PaddingStringBufferTest.java,v 1.4.32.1 2007/01/13 01:31:40 stack-sf Exp $
37  */

38 public class PaddingStringBufferTest extends TestCase {
39     /**
40      * Create a new PaddingStringBufferTest object
41      *
42      * @param testName the name of the test
43      */

44     public PaddingStringBufferTest(final String JavaDoc testName) {
45         super(testName);
46     }
47
48     /**
49      * run all the tests for PaddingStringBufferTest
50      *
51      * @param argv the command line arguments
52      */

53     public static void main(String JavaDoc argv[]) {
54         junit.textui.TestRunner.run(suite());
55     }
56
57     /**
58      * return the suite of tests for PaddingStringBufferTest
59      *
60      * @return the suite of test
61      */

62     public static Test suite() {
63         return new TestSuite(PaddingStringBufferTest.class);
64     }
65
66     public void setUp() {
67         buf = new PaddingStringBuffer();
68     }
69
70     /** first check that padTo works ok, since all depends on it */
71     public void testPadTo() {
72         PaddingStringBuffer retBuf;
73         assertEquals("nothing in buffer", "", buf.toString());
74         retBuf = buf.padTo(5);
75         assertEquals("retBuf same as buf", retBuf, buf);
76         assertEquals("5 spaces", " ", buf.toString());
77
78         // now do a smaller value - nothing should happen
79
buf.padTo(4);
80         assertEquals("5 spaces", " ", buf.toString());
81
82         // now pad tro a greater length
83
buf.padTo(10);
84         assertEquals("10 spaces", " ", buf.toString());
85     }
86
87     /** test that append(String) works correctly */
88     public void testAppendString() {
89         // a buf to hold the return buffer
90
PaddingStringBuffer retBuf;
91         assertEquals("nothing in buffer", "", buf.toString());
92         retBuf = buf.append("foo");
93         assertEquals("foo in buffer", "foo", buf.toString());
94         assertEquals("retBuf good", retBuf.toString(), buf.toString());
95         retBuf = buf.append("bar");
96         assertEquals("foobar in buffer", "foobar", buf.toString());
97         assertEquals("retBuf good", retBuf.toString(), buf.toString());
98     }
99
100     /** check the reset method clears the buffer */
101     public void testReset() {
102         // append something into the buffer
103
assertEquals("nothing in buffer", "", buf.toString());
104         buf.append("foo");
105         assertEquals("buffer is 'foo'", "foo", buf.toString());
106         buf.reset();
107         assertEquals("nothing in buffer after reset", "", buf.toString());
108     }
109
110     /** test the raAppend(String) works in the simple cases */
111     public void testRaAppend() {
112         // a buf to hold the return buffer
113
PaddingStringBuffer retBuf;
114         assertEquals("nothing in buffer", "", buf.toString());
115         retBuf = buf.raAppend(5, "foo");
116         assertEquals("foo in buffer", " foo", buf.toString());
117         assertEquals("retBuf good", retBuf.toString(), buf.toString());
118         retBuf = buf.raAppend(9, "bar");
119         assertEquals("foobar in buffer", " foo bar", buf.toString());
120         assertEquals("retBuf good", retBuf.toString(), buf.toString());
121
122         // now check with out-of-range columns - should just append
123
buf = new PaddingStringBuffer();
124         buf.raAppend(-1, "foo");
125         assertEquals("no padding for -1", "foo", buf.toString());
126         buf = new PaddingStringBuffer();
127         buf.raAppend(0, "foo");
128         assertEquals("no padding for 0", "foo", buf.toString());
129
130     }
131
132     /** test the newline() */
133     public void testNewline(){
134         assertEquals("nothing should be in the buffer", "", buf.toString());
135         buf.newline();
136         assertTrue("should contain newline", buf.toString().indexOf('\n')!=-1);
137         assertEquals("line position should be 0",0,buf.linePos);
138     }
139
140     /** check what happens when we right append, but the string is longer
141      * than the space */

142     public void testRaAppendWithTooLongString() {
143         buf.raAppend(3,"foobar");
144         assertEquals("no padding when padding col less than string length",
145                 "foobar", buf.toString());
146         buf.reset();
147     }
148
149     /** check it all works with the length == the length of the string */
150     public void testRaAppendWithExactLengthString() {
151         buf.raAppend(6, "foobar");
152         buf.raAppend(12, "foobar");
153         assertEquals("no padding with exact length string",
154                 "foobarfoobar", buf.toString());
155     }
156
157     /** check that append(int) works */
158     public void testAppendInt() {
159         buf.append((int)1);
160         assertEquals("buffer is '1'", "1", buf.toString());
161         buf.append((int)234);
162         assertEquals("buffer is '1234'", "1234", buf.toString());
163     }
164
165     /** check that raAppend(int) works */
166     public void testRaAppendInt() {
167         // right-append '1' to column 5
168
buf.raAppend(5, (int)1);
169         assertEquals("buf is ' 1'", " 1", buf.toString());
170         // try appending a too-long int
171

172         buf.raAppend(6,(int)123);
173         assertEquals("'123' appended", " 1123", buf.toString());
174     }
175
176     /** check that append(long) works */
177     public void testAppendLong() {
178         buf.append((long)1);
179         assertEquals("buffer is '1'", "1", buf.toString());
180         buf.append((long)234);
181         assertEquals("buffer is '1234'", "1234", buf.toString());
182     }
183
184     /** check that raAppend(long) works */
185     public void testRaAppendLong() {
186         // right-append '1' to column 5
187
buf.raAppend(5, (long) 1);
188         assertEquals("buf is ' 1'", " 1", buf.toString());
189         // try appending a too-long int
190

191         buf.raAppend(6, (long) 123);
192         assertEquals("'123' appended", " 1123", buf.toString());
193     }
194
195     /** a temp buffer for testing with */
196     private PaddingStringBuffer buf;
197 }
198
199
Popular Tags