@Test
    public void testReturnTypes() {
        assertEquals("1", __.__(1).asString().next());
        assertEquals("[]", __.__(Collections.emptyList()).asString().next());
        assertEquals("[1, 2]", __.__(Arrays.asList(1, 2)).asString().next());
        assertEquals("1", __.__(Arrays.asList(1, 2)).unfold().asString().next());
        assertArrayEquals(new String[]{"1", "2"}, __.inject(Arrays.asList(1, 2)).unfold().asString().toList().toArray());

        assertEquals(null, __.__(null).asString().next());

        assertEquals("[1, 2]test", __.__(Arrays.asList(1, 2)).asString().concat("test").next());
        assertEquals("1test", __.__(Arrays.asList(1, 2)).unfold().asString().concat("test").next());
        assertArrayEquals(new String[]{"1test", "2test"},
                __.__(Arrays.asList(1, 2)).unfold().asString().concat("test").toList().toArray());
        assertArrayEquals(new String[]{"1test", "2test"},
                __.__(Arrays.asList(1, 2)).unfold().asString().concat("test").fold().next().toArray());
    }
@author Yang Xia (http://github.com/xiazcy)
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AsStringGlobalStepTest.java