blob: feec78da00e13670b4e1ade74e5b04247ee420c4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2015 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0, which accompanies this distribution
* and is available at https://www.eclipse.org/legal/epl-2.0/.
*
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
package org.eclipse.jpt.common.utility.tests.internal;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import org.eclipse.jpt.common.utility.internal.SimplePair;
import org.eclipse.jpt.common.utility.internal.StringBuilderTools;
import org.eclipse.jpt.common.utility.internal.iterable.IterableTools;
import org.junit.Assert;
@SuppressWarnings("nls")
public class StringBuilderToolsTests
extends AbstractStringBuilderToolsTests
{
public StringBuilderToolsTests(String name) {
super(name);
}
@Override
protected void verifyConvertToCharArray(String string) {
StringBuilder sb;
sb = new StringBuilder();
sb.append(string);
Assert.assertArrayEquals(string.toCharArray(), StringBuilderTools.convertToCharArray(sb));
}
@Override
protected void verifyReverse(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.reverse(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.reverse(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyCenter(String expected, String s, int len) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.center(sb, s, len);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.center(sb, s.toCharArray(), len);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyPad(String expected, String string, int length) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.pad(sb, string, length);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.pad(sb, string.toCharArray(), length);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyFit(String expected, String string, int length) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.fit(sb, string, length);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.fit(sb, string.toCharArray(), length);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyZeroPad(String expected, String string, int length) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.zeroPad(sb, string, length);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.zeroPad(sb, string.toCharArray(), length);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyZeroFit(String expected, String string, int length) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.zeroFit(sb, string, length);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.zeroFit(sb, string.toCharArray(), length);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyRepeat(String expected, String string, int length) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.repeat(sb, string, length);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.repeat(sb, string.toCharArray(), length);
assertEquals(expected, sb.toString());
}
@Override
protected void verifySeparate(String expected, String string, char separator, int segmentLength) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.separate(sb, string, separator, segmentLength);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.separate(sb, string.toCharArray(), separator, segmentLength);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyDelimit(String expected, String string, String delimiter) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.delimit(sb, string, delimiter);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.delimit(sb, string.toCharArray(), delimiter.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyQuote(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.quote(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.quote(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyRemoveFirstOccurrence(String expected, String string, char charToRemove) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.removeFirstOccurrence(sb, string, charToRemove);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.removeFirstOccurrence(sb, string.toCharArray(), charToRemove);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyRemoveAllOccurrences(String expected, String string, char charToRemove) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.removeAllOccurrences(sb, string, charToRemove);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.removeAllOccurrences(sb, string.toCharArray(), charToRemove);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyRemoveAllSpaces(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.removeAllSpaces(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.removeAllSpaces(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyRemoveAllWhitespace(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.removeAllWhitespace(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.removeAllWhitespace(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyCompressWhitespace(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.compressWhitespace(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.compressWhitespace(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyCapitalize(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.capitalize(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.capitalize(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyUncapitalize(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.uncapitalize(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.uncapitalize(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToHexString(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.convertToHexString(sb, string.getBytes());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertCamelCaseToAllCaps(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.convertCamelCaseToAllCaps(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertCamelCaseToAllCaps(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertCamelCaseToAllCapsMaxLength(String expected, String string, int maxLength) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.convertCamelCaseToAllCaps(sb, string, maxLength);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertCamelCaseToAllCaps(sb, string.toCharArray(), maxLength);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertAllCapsToCamelCase(String expected, String string) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.convertAllCapsToCamelCase(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertAllCapsToCamelCase(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertAllCapsToCamelCase(String expected, String string, boolean capFirst) {
StringBuilder sb;
sb = new StringBuilder();
StringBuilderTools.convertAllCapsToCamelCase(sb, string, capFirst);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertAllCapsToCamelCase(sb, string.toCharArray(), capFirst);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyUndelimit(String expected, String s) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.undelimit(sb, s);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.undelimit(sb, s.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyUndelimitCount(String expected, String s, int count) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.undelimit(sb, s, count);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.undelimit(sb, s.toCharArray(), count);
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToJavaStringLiteral(String expected, String s) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToJavaStringLiteral(sb, s);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToJavaStringLiteral(sb, s.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToJavaStringLiteralContent(String expected, String s) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToJavaStringLiteralContent(sb, s);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToJavaStringLiteralContent(sb, s.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToXmlAttributeValue(String expected, String string) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToXmlAttributeValue(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToXmlAttributeValue(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToDoubleQuotedXmlAttributeValue(String expected, String string) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToDoubleQuotedXmlAttributeValue(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToDoubleQuotedXmlAttributeValue(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToDoubleQuotedXmlAttributeValueContent(String expected, String string) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToDoubleQuotedXmlAttributeValueContent(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToDoubleQuotedXmlAttributeValueContent(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToSingleQuotedXmlAttributeValue(String expected, String string) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToSingleQuotedXmlAttributeValue(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToSingleQuotedXmlAttributeValue(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToSingleQuotedXmlAttributeValueContent(String expected, String string) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToSingleQuotedXmlAttributeValueContent(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToSingleQuotedXmlAttributeValueContent(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToXmlElementText(String expected, String string) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToXmlElementText(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToXmlElementText(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToXmlElementCDATA(String expected, String string) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToXmlElementCDATA(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToXmlElementCDATA(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected void verifyConvertToXmlElementCDATAContent(String expected, String string) {
StringBuilder sb = new StringBuilder();
StringBuilderTools.convertToXmlElementCDATAContent(sb, string);
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.convertToXmlElementCDATAContent(sb, string.toCharArray());
assertEquals(expected, sb.toString());
}
@Override
protected Class<?> getToolsClass() {
return StringBuilderTools.class;
}
// ********** StringBuilderTools-specific **********
// ********** JSON **********
public void testAppendJSONMap() throws Exception {
StringBuilder sb = new StringBuilder();
Map<String, String> map = new HashMap<>();
map.put("left", "name");
map.put("right", "Fred");
StringBuilderTools.appendJSON(sb, map);
assertEquals("{\"left\":\"name\",\"right\":\"Fred\"}", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) map);
assertEquals("{\"left\":\"name\",\"right\":\"Fred\"}", sb.toString());
}
public void testAppendJSONMap_reflection() throws Exception {
StringBuilder sb = new StringBuilder();
Map<Object, String> map = new HashMap<>();
map.put(Integer.valueOf(42), "Fred");
assertFalse(map.keySet().isEmpty()); // trigger creation of key set
assertFalse(map.entrySet().isEmpty()); // trigger creation of entry set
StringBuilderTools.appendJSON(sb, map);
String expected = "{\"entrySet\":[{\"hash\":42,\"key\":42,\"next\":null,\"value\":\"Fred\"}],\"keySet\":[42],\"loadFactor\":0.75,\"modCount\":1,\"size\":1,\"table\":[null,null,null,null,null,null,null,null,null,null,{\"hash\":42,\"key\":42,\"next\":null,\"value\":\"Fred\"},null,null,null,null,null],\"threshold\":12,\"values\":null}";
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) map);
assertEquals(expected, sb.toString());
}
public void testAppendJSONMap_empty() throws Exception {
StringBuilder sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, new HashMap<>());
assertEquals("{}", sb.toString());
}
public void testAppendJSONMap_null() throws Exception {
StringBuilder sb = new StringBuilder();
Map<String, String> map = null;
StringBuilderTools.appendJSON(sb, map);
assertEquals("null", sb.toString());
}
public void testAppendJSONString() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "foo";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"foo\"", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) s);
assertEquals("\"foo\"", sb.toString());
}
public void testAppendJSONString_specialChars() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "\"foo\"";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\\"foo\\\"\"", sb.toString());
sb = new StringBuilder();
s = "\\";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\\\\"", sb.toString());
sb = new StringBuilder();
s = "\b";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\b\"", sb.toString());
sb = new StringBuilder();
s = "\f";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\f\"", sb.toString());
sb = new StringBuilder();
s = "\n";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\n\"", sb.toString());
sb = new StringBuilder();
s = "\r";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\r\"", sb.toString());
sb = new StringBuilder();
s = "\t";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\t\"", sb.toString());
sb = new StringBuilder();
s = "\u0012";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\u0012\"", sb.toString());
sb = new StringBuilder();
s = "\u0002";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\\u0002\"", sb.toString());
}
public void testAppendJSONString_empty() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "";
StringBuilderTools.appendJSON(sb, s);
assertEquals("\"\"", sb.toString());
}
public void testAppendJSONString_null() throws Exception {
StringBuilder sb = new StringBuilder();
String s = null;
StringBuilderTools.appendJSON(sb, s);
assertEquals("null", sb.toString());
}
public void testAppendJSONContentString() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "foo";
StringBuilderTools.appendJSONContent(sb, s);
assertEquals("foo", sb.toString());
}
public void testAppendJSONContentString_empty() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "";
StringBuilderTools.appendJSONContent(sb, s);
assertEquals("", sb.toString());
}
public void testAppendJSONContentString_null() throws Exception {
StringBuilder sb = new StringBuilder();
String s = null;
StringBuilderTools.appendJSONContent(sb, s);
assertEquals("null", sb.toString());
}
public void testAppendJSONCharArray() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "foo";
StringBuilderTools.appendJSON(sb, s.toCharArray());
assertEquals("\"foo\"", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) s.toCharArray());
assertEquals("\"foo\"", sb.toString());
}
public void testAppendJSONCharArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "";
StringBuilderTools.appendJSON(sb, s.toCharArray());
assertEquals("\"\"", sb.toString());
}
public void testAppendJSONCharArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
char[] s = null;
StringBuilderTools.appendJSON(sb, s);
assertEquals("null", sb.toString());
}
public void testAppendJSONContentCharArray() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "foo";
StringBuilderTools.appendJSONContent(sb, s.toCharArray());
assertEquals("foo", sb.toString());
}
public void testAppendJSONContentCharArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
String s = "";
StringBuilderTools.appendJSONContent(sb, s.toCharArray());
assertEquals("", sb.toString());
}
public void testAppendJSONContentCharArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
char[] s = null;
StringBuilderTools.appendJSONContent(sb, s);
assertEquals("null", sb.toString());
}
public void testAppendJSONIterable() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = new Object[] {
new SimplePair<>("name", "Fred"),
new SimplePair<>("age", Integer.valueOf(42)),
new SimplePair<>("sex", "male"),
null
};
Iterable<?> iterable = IterableTools.iterable(array);
StringBuilderTools.appendJSON(sb, iterable);
String expected = "[{\"left\":\"name\",\"right\":\"Fred\"},{\"left\":\"age\",\"right\":42},{\"left\":\"sex\",\"right\":\"male\"},null]";
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) iterable);
assertEquals(expected, sb.toString());
}
public void testAppendJSONIterable_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = new Object[0];
Iterable<?> iterable = IterableTools.iterable(array);
StringBuilderTools.appendJSON(sb, iterable);
assertEquals("[]", sb.toString());
}
public void testAppendJSONIterable_null() throws Exception {
StringBuilder sb = new StringBuilder();
Iterable<?> iterable = null;
StringBuilderTools.appendJSON(sb, iterable);
assertEquals("null", sb.toString());
}
public void testAppendJSONObjectArray() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = new Object[] {
new SimplePair<>("name", "Fred"),
new SimplePair<>("age", Integer.valueOf(42)),
new SimplePair<>("sex", "male"),
null
};
StringBuilderTools.appendJSON(sb, array);
String expected = "[{\"left\":\"name\",\"right\":\"Fred\"},{\"left\":\"age\",\"right\":42},{\"left\":\"sex\",\"right\":\"male\"},null]";
assertEquals(expected, sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) array);
assertEquals(expected, sb.toString());
}
public void testAppendJSONObjectArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = new Object[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONObjectArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONObject() throws Exception {
StringBuilder sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, new SimplePair<>("name", "Fred"));
assertEquals("{\"left\":\"name\",\"right\":\"Fred\"}", sb.toString());
}
public void testAppendJSONObject_empty() throws Exception {
StringBuilder sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, new Object());
assertEquals("{}", sb.toString());
}
public void testAppendJSONBooleanArray() throws Exception {
StringBuilder sb = new StringBuilder();
Boolean[] array = new Boolean[] { Boolean.valueOf(true), Boolean.valueOf(false), Boolean.valueOf(true), null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[true,false,true,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object[]) array);
assertEquals("[true,false,true,null]", sb.toString());
}
public void testAppendJSONBooleanArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Boolean[] array = new Boolean[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object[]) array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONBooleanArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Boolean[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONBoolean() throws Exception {
StringBuilder sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, Boolean.valueOf(true));
assertEquals("true", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, Boolean.valueOf(false));
assertEquals("false", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) Boolean.valueOf(true));
assertEquals("true", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) Boolean.valueOf(false));
assertEquals("false", sb.toString());
}
public void testAppendJSONBooleanPrimitiveArray() throws Exception {
StringBuilder sb = new StringBuilder();
boolean[] array = new boolean[] { true, false, true };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[true,false,true]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) array);
assertEquals("[true,false,true]", sb.toString());
}
public void testAppendJSONBooleanPrimitiveArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
boolean[] array = new boolean[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONBooleanPrimitiveArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
boolean[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONBooleanPrimitive() throws Exception {
StringBuilder sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, true);
assertEquals("true", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, false);
assertEquals("false", sb.toString());
}
public void testAppendJSONNumber() throws Exception {
Number n;
StringBuilder sb;
sb = new StringBuilder();
n = Integer.valueOf(7);
StringBuilderTools.appendJSON(sb, n);
assertEquals("7", sb.toString());
sb = new StringBuilder();
n = Double.valueOf(7.7);
StringBuilderTools.appendJSON(sb, n);
assertEquals("7.7", sb.toString());
sb = new StringBuilder();
n = Byte.valueOf((byte) 7);
StringBuilderTools.appendJSON(sb, n);
assertEquals("7", sb.toString());
sb = new StringBuilder();
n = Float.valueOf(7.7f);
StringBuilderTools.appendJSON(sb, n);
assertEquals("7.7", sb.toString());
sb = new StringBuilder();
n = Long.valueOf(123456789123456789L);
StringBuilderTools.appendJSON(sb, n);
assertEquals("123456789123456789", sb.toString());
sb = new StringBuilder();
n = Short.valueOf((short) 7);
StringBuilderTools.appendJSON(sb, n);
assertEquals("7", sb.toString());
sb = new StringBuilder();
n = BigDecimal.valueOf(123456789123456789L, 5);
StringBuilderTools.appendJSON(sb, n);
assertEquals("1234567891234.56789", sb.toString());
sb = new StringBuilder();
n = BigInteger.valueOf(123456789123456789L);
StringBuilderTools.appendJSON(sb, n);
assertEquals("123456789123456789", sb.toString());
sb = new StringBuilder();
n = new AtomicInteger(7);
StringBuilderTools.appendJSON(sb, n);
assertEquals("7", sb.toString());
sb = new StringBuilder();
n = null;
StringBuilderTools.appendJSON(sb, n);
assertEquals("null", sb.toString());
}
public void testAppendJSONIntegerArray() throws Exception {
StringBuilder sb = new StringBuilder();
Integer i0 = Integer.valueOf(7);
Integer i1 = Integer.valueOf(-3);
Integer i2 = Integer.valueOf(0);
Integer[] array = new Integer[] { i0, i1, i2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7,-3,0,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Number[]) array);
assertEquals("[7,-3,0,null]", sb.toString());
}
public void testAppendJSONIntegerArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Integer[] array = new Integer[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONIntegerArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Integer[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONInteger() throws Exception {
StringBuilder sb = new StringBuilder();
Integer i = Integer.valueOf(7);
StringBuilderTools.appendJSON(sb, i);
assertEquals("7", sb.toString());
}
public void testAppendJSONIntegerPrimitiveArray() throws Exception {
StringBuilder sb = new StringBuilder();
int i0 = 7;
int i1 = -3;
int i2 = 0;
int[] array = new int[] { i0, i1, i2 };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7,-3,0]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) array);
assertEquals("[7,-3,0]", sb.toString());
}
public void testAppendJSONIntegerPrimitiveArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
int[] array = new int[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONIntegerPrimitiveArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
int[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONIntegerPrimitive() throws Exception {
StringBuilder sb = new StringBuilder();
int i = 7;
StringBuilderTools.appendJSON(sb, i);
assertEquals("7", sb.toString());
}
public void testAppendJSONDoubleArray() throws Exception {
StringBuilder sb = new StringBuilder();
Double d0 = Double.valueOf(7.7);
Double d1 = Double.valueOf(-3.2);
Double d2 = Double.valueOf(0.0);
Double[] array = new Double[] { d0, d1, d2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7.7,-3.2,0.0,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Number[]) array);
assertEquals("[7.7,-3.2,0.0,null]", sb.toString());
}
public void testAppendJSONDoubleArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Double[] array = new Double[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONDoubleArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Double[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONDouble() throws Exception {
StringBuilder sb = new StringBuilder();
Double d = Double.valueOf(7.0);
StringBuilderTools.appendJSON(sb, d);
assertEquals("7.0", sb.toString());
}
public void testAppendJSONDoublePrimitiveArray() throws Exception {
StringBuilder sb = new StringBuilder();
double d0 = 7.7;
double d1 = -3.2;
double d2 = 0.0;
double[] array = new double[] { d0, d1, d2 };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7.7,-3.2,0.0]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) array);
assertEquals("[7.7,-3.2,0.0]", sb.toString());
}
public void testAppendJSONDoublePrimitiveArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
double[] array = new double[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONDoublePrimitiveArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
double[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONDoublePrimitive() throws Exception {
StringBuilder sb = new StringBuilder();
double d = 7.0;
StringBuilderTools.appendJSON(sb, d);
assertEquals("7.0", sb.toString());
}
public void testAppendJSONByteArray() throws Exception {
StringBuilder sb = new StringBuilder();
Byte b0 = Byte.valueOf((byte) 7);
Byte b1 = Byte.valueOf((byte) -3);
Byte b2 = Byte.valueOf((byte) 0);
Byte[] array = new Byte[] { b0, b1, b2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7,-3,0,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Number[]) array);
assertEquals("[7,-3,0,null]", sb.toString());
}
public void testAppendJSONByteArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Byte[] array = new Byte[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONByteArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Byte[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONByte() throws Exception {
StringBuilder sb = new StringBuilder();
Byte b = Byte.valueOf((byte) 7);
StringBuilderTools.appendJSON(sb, b);
assertEquals("7", sb.toString());
}
public void testAppendJSONBytePrimitiveArray() throws Exception {
StringBuilder sb = new StringBuilder();
byte b0 = 7;
byte b1 = -3;
byte b2 = 0;
byte[] array = new byte[] { b0, b1, b2 };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7,-3,0]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) array);
assertEquals("[7,-3,0]", sb.toString());
}
public void testAppendJSONBytePrimitiveArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
byte[] array = new byte[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONBytePrimitiveArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
byte[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONBytePrimitive() throws Exception {
StringBuilder sb = new StringBuilder();
byte b = 7;
StringBuilderTools.appendJSON(sb, b);
assertEquals("7", sb.toString());
}
public void testAppendJSONFloatArray() throws Exception {
StringBuilder sb = new StringBuilder();
Float f0 = Float.valueOf(7.7f);
Float f1 = Float.valueOf(-3.2f);
Float f2 = Float.valueOf(0.0f);
Float[] array = new Float[] { f0, f1, f2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7.7,-3.2,0.0,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Number[]) array);
assertEquals("[7.7,-3.2,0.0,null]", sb.toString());
}
public void testAppendJSONFloatArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Float[] array = new Float[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONFloatArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Float[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONFloat() throws Exception {
StringBuilder sb = new StringBuilder();
Float f = Float.valueOf(7.0f);
StringBuilderTools.appendJSON(sb, f);
assertEquals("7.0", sb.toString());
}
public void testAppendJSONFloatPrimitiveArray() throws Exception {
StringBuilder sb = new StringBuilder();
float f0 = 7.7f;
float f1 = -3.2f;
float f2 = 0.0f;
float[] array = new float[] { f0, f1, f2 };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7.7,-3.2,0.0]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) array);
assertEquals("[7.7,-3.2,0.0]", sb.toString());
}
public void testAppendJSONFloatPrimitiveArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
float[] array = new float[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONFloatPrimitiveArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
float[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONFloatPrimitive() throws Exception {
StringBuilder sb = new StringBuilder();
float f = 7.0f;
StringBuilderTools.appendJSON(sb, f);
assertEquals("7.0", sb.toString());
}
public void testAppendJSONLongArray() throws Exception {
StringBuilder sb = new StringBuilder();
Long l0 = Long.valueOf(123456789123456789L);
Long l1 = Long.valueOf(-123456789123456789L);
Long l2 = Long.valueOf(0);
Long[] array = new Long[] { l0, l1, l2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[123456789123456789,-123456789123456789,0,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Number[]) array);
assertEquals("[123456789123456789,-123456789123456789,0,null]", sb.toString());
}
public void testAppendJSONLongArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Long[] array = new Long[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONLongArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Long[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONLong() throws Exception {
StringBuilder sb = new StringBuilder();
Long l = Long.valueOf(123456789123456789L);
StringBuilderTools.appendJSON(sb, l);
assertEquals("123456789123456789", sb.toString());
}
public void testAppendJSONLongPrimitiveArray() throws Exception {
StringBuilder sb = new StringBuilder();
long l0 = 123456789123456789L;
long l1 = -123456789123456789L;
long l2 = 0;
long[] array = new long[] { l0, l1, l2 };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[123456789123456789,-123456789123456789,0]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) array);
assertEquals("[123456789123456789,-123456789123456789,0]", sb.toString());
}
public void testAppendJSONLongPrimitiveArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
long[] array = new long[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONLongPrimitiveArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
long[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONLongPrimitive() throws Exception {
StringBuilder sb = new StringBuilder();
long l = 123456789123456789L;
StringBuilderTools.appendJSON(sb, l);
assertEquals("123456789123456789", sb.toString());
}
public void testAppendJSONShortArray() throws Exception {
StringBuilder sb = new StringBuilder();
Short s0 = Short.valueOf((short) 5);
Short s1 = Short.valueOf((short) -3);
Short s2 = Short.valueOf((short) 0);
Short[] array = new Short[] { s0, s1, s2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[5,-3,0,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Number[]) array);
assertEquals("[5,-3,0,null]", sb.toString());
}
public void testAppendJSONShortArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Short[] array = new Short[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONShortArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Short[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONShort() throws Exception {
StringBuilder sb = new StringBuilder();
Short s = Short.valueOf((short) 5);
StringBuilderTools.appendJSON(sb, s);
assertEquals("5", sb.toString());
}
public void testAppendJSONShortPrimitiveArray() throws Exception {
StringBuilder sb = new StringBuilder();
short s0 = 5;
short s1 = -3;
short s2 = 0;
short[] array = new short[] { s0, s1, s2 };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[5,-3,0]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object) array);
assertEquals("[5,-3,0]", sb.toString());
}
public void testAppendJSONShortPrimitiveArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
short[] array = new short[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONShortPrimitiveArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
short[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONShortPrimitive() throws Exception {
StringBuilder sb = new StringBuilder();
short s = 5;
StringBuilderTools.appendJSON(sb, s);
assertEquals("5", sb.toString());
}
public void testAppendJSONBigDecimalArray() throws Exception {
StringBuilder sb = new StringBuilder();
BigDecimal bd0 = BigDecimal.valueOf(123456789123456789L, 5);
BigDecimal bd1 = BigDecimal.valueOf(987654321987654321L, 9);
BigDecimal bd2 = BigDecimal.valueOf(987654321987654321L, -9);
BigDecimal[] array = new BigDecimal[] { bd0, bd1, bd2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[1234567891234.56789,987654321.987654321,9.87654321987654321E+26,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Number[]) array);
assertEquals("[1234567891234.56789,987654321.987654321,9.87654321987654321E+26,null]", sb.toString());
}
public void testAppendJSONBigDecimalArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
BigDecimal[] array = new BigDecimal[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONBigDecimalArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
BigDecimal[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONBigDecimal() throws Exception {
StringBuilder sb = new StringBuilder();
BigDecimal bd = BigDecimal.valueOf(123456789123456789L, 5);
StringBuilderTools.appendJSON(sb, bd);
assertEquals("1234567891234.56789", sb.toString());
}
public void testAppendJSONBigIntegerArray() throws Exception {
StringBuilder sb = new StringBuilder();
BigInteger bi0 = BigInteger.valueOf(123456789123456789L);
BigInteger bi1 = BigInteger.valueOf(987654321987654321L);
BigInteger[] array = new BigInteger[] { bi0, bi1, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[123456789123456789,987654321987654321,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Number[]) array);
assertEquals("[123456789123456789,987654321987654321,null]", sb.toString());
}
public void testAppendJSONBigIntegerArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
BigInteger[] array = new BigInteger[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONBigIntegerArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
BigInteger[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendJSONBigInteger() throws Exception {
StringBuilder sb = new StringBuilder();
BigInteger bi = BigInteger.valueOf(123456789123456789L);
StringBuilderTools.appendJSON(sb, bi);
assertEquals("123456789123456789", sb.toString());
}
public void testAppendJSONFraction() throws Exception {
StringBuilder sb = new StringBuilder();
org.apache.commons.lang.math.Fraction f = org.apache.commons.lang.math.Fraction.getFraction(2, 7);
StringBuilderTools.appendJSON(sb, f);
assertEquals("{\"denominator\":7,\"hashCode\":0,\"numerator\":2,\"toProperString\":null,\"toString\":\"2/7\"}", sb.toString());
}
public void testAppendJSONNumberArray() throws Exception {
StringBuilder sb = new StringBuilder();
Number n0 = new AtomicInteger(7);
Number n1 = new AtomicInteger(-3);
Number n2 = new AtomicInteger(0);
Number[] array = new Number[] { n0, n1, n2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7,-3,0,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object[]) array);
assertEquals("[7,-3,0,null]", sb.toString());
}
public void testAppendJSONNumberArray_mixed() throws Exception {
StringBuilder sb = new StringBuilder();
Number n0 = new AtomicInteger(7);
Number n1 = Integer.valueOf(-3);
Number n2 = Double.valueOf(0.33);
Number[] array = new Number[] { n0, n1, n2, null };
StringBuilderTools.appendJSON(sb, array);
assertEquals("[7,-3,0.33,null]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object[]) array);
assertEquals("[7,-3,0.33,null]", sb.toString());
}
public void testAppendJSONNumberArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Number[] array = new Number[0];
StringBuilderTools.appendJSON(sb, array);
assertEquals("[]", sb.toString());
sb = new StringBuilder();
StringBuilderTools.appendJSON(sb, (Object[]) array);
assertEquals("[]", sb.toString());
}
public void testAppendJSONNumberArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Number[] array = null;
StringBuilderTools.appendJSON(sb, array);
assertEquals("null", sb.toString());
}
// ********** array/iterable **********
public void testAppendObjectArray_null() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = null;
StringBuilderTools.append(sb, array);
assertEquals("null", sb.toString());
}
public void testAppendObjectArray_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = new Object[0];
StringBuilderTools.append(sb, array);
assertEquals("[]", sb.toString());
}
public void testAppendObjectArray_one() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = new Object[] {"foo"};
StringBuilderTools.append(sb, array);
assertEquals("[foo]", sb.toString());
}
public void testAppendObjectArray_multiple() throws Exception {
StringBuilder sb = new StringBuilder();
Object[] array = new Object[] {"foo", "bar", "baz"};
StringBuilderTools.append(sb, array);
assertEquals("[foo, bar, baz]", sb.toString());
}
public void testAppendIterable_empty() throws Exception {
StringBuilder sb = new StringBuilder();
Iterable<Object> iterable = IterableTools.iterable(new Object[0]);
StringBuilderTools.append(sb, iterable);
assertEquals("[]", sb.toString());
}
public void testAppendIterable_one() throws Exception {
StringBuilder sb = new StringBuilder();
Iterable<Object> iterable = IterableTools.iterable(new Object[] {"foo"});
StringBuilderTools.append(sb, iterable);
assertEquals("[foo]", sb.toString());
}
public void testAppendIterable_multiple() throws Exception {
StringBuilder sb = new StringBuilder();
Iterable<Object> iterable = IterableTools.iterable(new Object[] {"foo", "bar", "baz"});
StringBuilderTools.append(sb, iterable);
assertEquals("[foo, bar, baz]", sb.toString());
}
// ********** toString() stuff **********
public void testAppendHashCodeToString() throws Exception {
StringBuilder sb = new StringBuilder();
Object object = new Object();
StringBuilderTools.appendHashCodeToString(sb, object);
String string = sb.toString();
String prefix = "Object[";
assertTrue(string.startsWith(prefix));
assertTrue(string.endsWith("]"));
for (int i = prefix.length(); i < string.length() - 1; i++) {
char c = string.charAt(i);
assertTrue(((c >= '0') && (c <= '9')) || ((c >= 'A') && (c <= 'F')) || (c == '-'));
}
}
public void testAppendIdentityToString() throws Exception {
StringBuilder sb = new StringBuilder();
Object object = new Object();
StringBuilderTools.appendIdentityToString(sb, object); // "java.lang.Object@3cb5cdba"
String string = sb.toString();
String prefix = "java.lang.Object@";
assertTrue(string.startsWith(prefix));
for (int i = prefix.length(); i < string.length(); i++) {
char c = string.charAt(i);
assertTrue(((c >= '0') && (c <= '9')) || ((c >= 'a') && (c <= 'f')));
}
}
}