/* * Weblounge: Web Content Management System * Copyright (c) 2003 - 2011 The Weblounge Team * http://entwinemedia.com/weblounge * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package ch.entwine.weblounge.cache.impl; import ch.entwine.weblounge.common.impl.request.CachedOutputStream; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import org.junit.Before; import org.junit.Test; /** * Test case for the implementation at {@link CachedOutputStream}. */ public class CacheOutputStreamTest { /** The output stream to test */ protected CachedOutputStream outputStream = null; /** The content length */ protected int contentLength = 4096; /** The content */ protected String content = "Hello world!"; /** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { outputStream = new CachedOutputStream(); } /** * Test method for {@link ch.entwine.weblounge.common.impl.request.CachedOutputStream#write(int)}. */ @Test public void testWriteInt() { for (int i = 0; i < contentLength; i++) { int b = i % 128; outputStream.write(b); assertEquals(i + 1, outputStream.getContent().length); assertEquals(b, outputStream.getContent()[i]); } } /** * Test method for {@link ch.entwine.weblounge.common.impl.request.CachedOutputStream#write(byte[], int, int)}. */ @Test public void testWriteByteArrayIntInt() { outputStream.write(5); assertEquals(1, outputStream.getContent().length); assertEquals(5, outputStream.getContent()[0]); } /** * Test method for {@link ch.entwine.weblounge.common.impl.request.CachedOutputStream#getContent()}. */ @Test public void testGetContent() throws Exception { assertNotNull(outputStream.getContent()); outputStream.write(content.getBytes()); assertEquals(content.length(), outputStream.getContent().length); assertEquals(content, new String(outputStream.getContent(), "utf-8")); } }