@Test public void testArrayElementAt() { StdTester tester = getTester(); tester.check(functionCall("array_element_at", array("1", "2"), 1), "2", "varchar"); tester.check(functionCall("array_element_at", array(1, 2), 1), 2, "integer"); tester.check(functionCall("array_element_at", array(true, false), 1), false, "boolean"); tester.check(functionCall("array_element_at", array(array("1"), array("2")), 1), array("2"), "array(varchar)"); tester.check(functionCall("array_element_at", null, 1), null, "unknown"); tester.check(functionCall("array_element_at", array(1), null), null, "integer"); tester.check(functionCall("array_element_at", array("1", null, "2"), 1), null, "varchar"); tester.check(functionCall("array_element_at", array(array("1"), array("2", null)), 1), array("2", null), "array(varchar)"); } }