cal.set(2010, 1, 1, Digit.AZERO.value, Digit.AZERO.value, Digit.AZERO.value);
cal.set(Calendar.MILLISECOND, Digit.AZERO.value);
//final Date d = cal.getTime();
Object [][] groupableVals = new Object[][]{
{new TestEntity(), "byteType", (byte) 0, new Byte[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}},
{new TestEntity(), "byteObject", Byte.valueOf((byte) 0), new Byte[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}},
//check in once W-854513 is fixed
// {new TestEntity(), "boolType", Boolean.TRUE, new Boolean[]{true}},
// {new TestEntity(), "booleanObject", Boolean.FALSE, new Boolean[]{true}},
// {new TestEntity(), "date", getCal(false, Digit.AZERO, false).getTime(), new Date[]{d}},
// {new TestEntity(), "dateTemporal", getCal(false, Digit.AZERO, false).getTime(), new Date[]{d}},
{new TestEntity(), "charType", 'A', new Character[]{'A', 'E', 'F', 'N', 'O', 'S', 'T'}},
{new TestEntity(), "characterObject", 'A', new Character[]{'A', 'E', 'F', 'N', 'O', 'S', 'T'}},
};
Object [][] nonGroupableVals = new Object[][]{
{new TestEntity(), "shortType", (short) 0, new Object[]{}},
{new TestEntity(), "intType", 0, new Object[]{}},
{new TestEntity(), "longType", (long) 0, new Object[]{}},
{new TestEntity(), "floatType", (float) 0, new Object[]{}},
{new TestEntity(), "doubleType", (double) 0, new Object[]{}},
{new TestEntity(), "shortObject", Short.valueOf((short) 0), new Object[]{}},
{new TestEntity(), "integerObject", Integer.valueOf(0), new Object[]{}},
{new TestEntity(), "longObject", Long.valueOf(0), new Object[]{}},
{new TestEntity(), "floatObject", new Float(0), new Object[]{}},
{new TestEntity(), "doubleObject", new Double(0), new Object[]{}},
{new TestEntity(), "bigDecimalObject", new BigDecimal(0), new Object[]{}},
{new TestEntity(), "bigIntegerObject", BigInteger.valueOf(0), new Object[]{}},
{new TestEntity(), "percent", 0, new Object[]{}},
{new TestEntity(), "dateTimeCal", getCal(false, Digit.AZERO, true), new Object[]{}},
{new TestEntity(), "dateTimeGCal", getCal(true, Digit.AZERO, true), new Object[]{}},
};
final String em = "foobar@salesforce.com";
final String ph = "415-123-";
final String ur = "http://localhost:";
Object [][] stringVals = new Object[][]{
{new TestEntity(), "stringObject", Digit.AZERO.toString(),
new String[]{"AZERO", "EIGHT", "FIVE", "FOUR", "NINE", "ONE", "SEVEN", "SIX", "THREE", "TWO"}},
{new TestEntity(), "phone", "415-123-0000",
new String[]{ph + "0000", ph + "1111", ph + "2222", ph + "3333", ph + "4444", ph + "5555",
ph + "6666", ph + "7777", ph + "8888", ph + "9999"}},
{new TestEntity(), "email", "0foobar@salesforce.com",
new String[]{"0" + em, "1" + em, "2" + em, "3" + em, "4" + em, "5" + em, "6" + em,
"7" + em, "8" + em, "9" + em}},
{new TestEntity(), "url", new URL("http://localhost:0000"),
new URL[]{new URL(ur + "0000"), new URL(ur + "1111"), new URL(ur + "2222"), new URL(ur + "3333"),
new URL(ur + "4444"), new URL(ur + "5555"), new URL(ur + "6666"), new URL(ur + "7777"),
new URL(ur + "8888"), new URL(ur + "9999")}},
};