@Test
void shouldHandleMultipleListConcatenation()
{
ListValue inner1 = list( stringValue( "foo" ), longValue( 42 ), booleanValue( true ) );
ListValue inner2 = list( list(stringValue("bar"), intValue(42)) );
ListValue inner3 = list( map("foo", 1337L, "bar", 42 ), stringValue("baz") );
ListValue concat = concat( inner1, inner2, inner3 );
ListValue expected = list( stringValue( "foo" ), longValue( 42 ), booleanValue( true ),
list( stringValue( "bar" ), intValue( 42 ) ),
map( "foo", 1337L, "bar", 42 ), stringValue( "baz" ) );
assertEquals(expected, concat);
assertEquals(expected.hashCode(), concat.hashCode());
assertArrayEquals(expected.asArray(), concat.asArray());
}
}