@Test
public void testMultiDimensionalArrayValues() {

    Integer[] ia0 = { 1, 2, 3 };
    Integer[] ia1 = { 10, 20, 30 };
    Integer[][] multiIntegerA = { ia0, ia1 };
    String result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", multiIntegerA }).getMessage();
    assertEquals("a[[1, 2, 3], [10, 20, 30]]", result);
    int[][] multiIntA = { { 1, 2 }, { 10, 20 } };
    result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", multiIntA }).getMessage();
    assertEquals("a[[1, 2], [10, 20]]", result);
    float[][] multiFloatA = { { 1, 2 }, { 10, 20 } };
    result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", multiFloatA }).getMessage();
    assertEquals("a[[1.0, 2.0], [10.0, 20.0]]", result);
    Object[][] multiOA = { ia0, ia1 };
    result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", multiOA }).getMessage();
    assertEquals("a[[1, 2, 3], [10, 20, 30]]", result);
    Object[][][] _3DOA = { multiOA, multiOA };
    result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", _3DOA }).getMessage();
    assertEquals("a[[[1, 2, 3], [10, 20, 30]], [[1, 2, 3], [10, 20, 30]]]", result);
    Byte[] ba0 = { 0, Byte.MAX_VALUE, Byte.MIN_VALUE };
    Short[] sa0 = { 0, Short.MIN_VALUE, Short.MAX_VALUE };
    result = MessageFormatter.arrayFormat("{}\\{}{}", new Object[] { new Object[] { ba0, sa0 }, ia1 }).getMessage();
    assertEquals("[[0, 127, -128], [0, -32768, 32767]]{}[10, 20, 30]", result);
}