/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.wicket.util.string;
import org.junit.Assert;
import org.junit.Test;
@SuppressWarnings("javadoc")
public class AppendingStringBufferTest extends Assert
{
@Test
public void append()
{
AppendingStringBuffer asb = new AppendingStringBuffer();
asb.append("test1");
assertEquals("test1", asb.toString());
asb.append("test2");
asb.append("test3");
asb.append("test4");
assertEquals("test1test2test3test4", asb.toString());
}
@Test
public void largeBegin() throws Exception
{
AppendingStringBuffer asb = new AppendingStringBuffer("123456789012345678901234567890");
assertEquals("123456789012345678901234567890", asb.toString());
}
@Test
public void charPrepend() throws Exception
{
AppendingStringBuffer asb = new AppendingStringBuffer("123456789");
asb.append('0');
assertEquals("1234567890", asb.toString());
}
@Test
public void equalsToAppeningBuffer() throws Exception
{
AppendingStringBuffer asb1 = new AppendingStringBuffer("123456789");
AppendingStringBuffer asb2 = new AppendingStringBuffer("123456789");
assertEquals(asb1, asb2);
}
@Test
public void equalsToCharSequence() throws Exception
{
AppendingStringBuffer asb = new AppendingStringBuffer("123456789");
StringBuilder sb = new StringBuilder("123456789");
assertEquals(asb, sb);
assertEquals(asb, "123456789");
sb = new StringBuilder("01234567890");
assertFalse(asb.equals(sb));
assertFalse(asb.equals("01234567890"));
}
@Test
public void startsWidth() throws Exception
{
AppendingStringBuffer asb = new AppendingStringBuffer("123456789");
StringBuilder sb = new StringBuilder("1234");
assertTrue(asb.startsWith(sb));
assertTrue(asb.startsWith("1234"));
assertTrue(asb.startsWith(asb));
sb = new StringBuilder("01234");
assertFalse(asb.startsWith(sb));
assertFalse(asb.startsWith("01234"));
}
@Test
public void endsWidth() throws Exception
{
AppendingStringBuffer asb = new AppendingStringBuffer("123456789");
StringBuilder sb = new StringBuilder("6789");
assertTrue(asb.endsWith(sb));
assertTrue(asb.endsWith("6789"));
assertTrue(asb.endsWith(asb));
sb = new StringBuilder("67890");
assertFalse(asb.endsWith(sb));
assertFalse(asb.endsWith("67890"));
}
@Test
public void testInsert() throws Exception
{
AppendingStringBuffer asb = new AppendingStringBuffer("123456789");
asb.insert(5, new StringBuffer("123"));
assertEquals("123451236789", asb.toString());
asb = new AppendingStringBuffer("123456789");
asb.insert(5, new StringBuilder("123"));
assertEquals("123451236789", asb.toString());
asb = new AppendingStringBuffer("123456789");
asb.insert(5, new String("123"));
assertEquals("123451236789", asb.toString());
asb = new AppendingStringBuffer("123456789");
asb.insert(5, 5);
assertEquals("1234556789", asb.toString());
asb = new AppendingStringBuffer("123456789");
asb.insert(5, (StringBuilder)null);
assertEquals("12345null6789", asb.toString());
asb = new AppendingStringBuffer("123456789");
asb.insert(5, (StringBuffer)null);
assertEquals("12345null6789", asb.toString());
asb = new AppendingStringBuffer("123456789");
asb.insert(5, (String)null);
assertEquals("12345null6789", asb.toString());
asb = new AppendingStringBuffer("123456789");
asb.insert(5, (Integer)null);
assertEquals("12345null6789", asb.toString());
}
}