1 64 65 package com.jcorporate.expresso.kernel.util.test; 66 67 import com.jcorporate.expresso.kernel.util.FastStringBuffer; 68 import junit.framework.TestCase; 69 import junit.framework.TestSuite; 70 71 77 78 public class FastStringBufferTest 79 extends TestCase { 80 81 82 public FastStringBufferTest(String testName) 83 throws Exception { 84 super(testName); 85 } 86 87 public static void main(String [] args) 88 throws Exception { 89 90 junit.textui.TestRunner.run(suite()); 92 } 93 94 99 public static junit.framework.Test suite() { 100 return new TestSuite(FastStringBufferTest.class); 101 } 102 103 106 public void testFastStringBuffer() { 107 final String testValue = "abcdefghijklmnop"; 108 try { 109 FastStringBuffer testBuffer = new FastStringBuffer(256); 110 for (int j = 0; j < 100; j++) { 111 assertTrue("Fresh FastStringBuffer should have zero length", testBuffer.length() == 0); 112 assertTrue("Fresh FastStringBuffer should have empty string", "".equals(testBuffer.toString())); 113 114 testBuffer.append(testValue); 115 assertTrue("Must have proper value in test buffer.", testValue.equals(testBuffer.toString())); 116 testBuffer.clear(); 117 } 118 } catch (Exception ex) { 119 ex.printStackTrace(); 120 fail("Error performaing testFastStringBufferPool(): " + ex.getMessage()); 121 } 122 123 124 } 125 126 127 131 public void testFastStringBufferPool() { 132 final String testValue = "abcdefghijklmnop"; 133 134 try { 135 for (int j = 0; j < 100; j++) { 136 FastStringBuffer testBuffer = FastStringBuffer.getInstance(); 137 try { 138 assertTrue("Must receive non-null testBuffer from Pool", testBuffer != null); 139 assertTrue("Buffer from pool must have 1k capacity", testBuffer.capacity() == 1024); 140 assertTrue("Fresh value from the pool should have zero length", testBuffer.length() == 0); 141 assertTrue("Fresh value from the pool should have empty string", "".equals(testBuffer.toString())); 142 143 testBuffer.append(testValue); 144 String resultValue = testBuffer.toString(); 145 assertTrue("Must have proper value in test buffer. Got '" + resultValue + "' instead", 146 testValue.equals(resultValue)); 147 } finally { 148 testBuffer.release(); 149 } 150 } 151 } catch (Exception ex) { 152 ex.printStackTrace(); 153 fail("Error performaing testFastStringBufferPool(): " + ex.getMessage()); 154 } 155 } 156 157 public void testFastStringBufferPoolWithOverlap() { 158 final String testValue = "abcdefghijklmnop"; 159 160 try { 161 for (int j = 0; j < 100; j++) { 162 FastStringBuffer overlapBuffer = FastStringBuffer.getInstance(); 163 FastStringBuffer testBuffer = FastStringBuffer.getInstance(); 164 try { 165 assertTrue("Must receive non-null testBuffer from Pool", testBuffer != null); 166 overLapFastStringBuffer(); 167 assertTrue("Buffer from pool must have 1k capacity", testBuffer.capacity() == 1024); 168 overLapFastStringBuffer(); 169 assertTrue("Fresh value from the pool should have zero length", testBuffer.length() == 0); 170 overLapFastStringBuffer(); 171 assertTrue("Fresh value from the pool should have empty string", "".equals(testBuffer.toString())); 172 overLapFastStringBuffer(); 173 174 testBuffer.append(testValue); 175 String resultValue = testBuffer.toString(); 176 assertTrue("Must have proper value in test buffer. Got '" + resultValue + "' instead", 177 testValue.equals(resultValue)); 178 overLapFastStringBuffer(); 179 } finally { 180 overlapBuffer.release(); 181 testBuffer.release(); 182 } 183 } 184 } catch (Exception ex) { 185 ex.printStackTrace(); 186 fail("Error performaing testFastStringBufferPool(): " + ex.getMessage()); 187 } 188 } 189 190 private void overLapFastStringBuffer() { 191 FastStringBuffer fsb = FastStringBuffer.getInstance(); 192 fsb.append("WHERE MIMETYPES = 2"); 193 fsb.append("AND WHOKNOW'S WHAT = 4"); 194 fsb.toString(); 195 fsb.release(); 196 } 197 198 199 public void testFastStringBufferPoolWithOverflow() { 200 202 try { 203 for (int j = 0; j < 100; j++) { 204 FastStringBuffer testBuffer = FastStringBuffer.getInstance(); 205 try { 206 assertTrue("Must receive non-null testBuffer from Pool", testBuffer != null); 207 assertTrue( 208 "Buffer from pool must have 1k capacity j=" + j + " got " + testBuffer.capacity() + " instead.", 209 testBuffer.capacity() == 1024); 210 assertTrue("Fresh value from the pool should have zero length", testBuffer.length() == 0); 211 assertTrue("Fresh value from the pool should have empty string", "".equals(testBuffer.toString())); 212 for (int i = 0; i < 2048; i++) { 213 testBuffer.append("a"); 214 } 215 assertTrue("Must have proper length in test buffer got " + testBuffer.length() + " instead", 216 testBuffer.length() == 2048); 217 } finally { 218 testBuffer.release(); 219 } 220 } 221 } catch (Exception ex) { 222 ex.printStackTrace(); 223 fail("Error performaing testFastStringBufferPool(): " + ex.getMessage()); 224 } 225 226 } 227 } 228 | Popular Tags |