package org.eclipse.xtend.middleend.xtend.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.List; import org.eclipse.xtend.backend.BackendFacade; import org.eclipse.xtend.backend.common.QualifiedName; import org.eclipse.xtend.middleend.xtend.XtendBackendFacade; import org.junit.Before; import org.junit.Test; public class StringTypeTest extends JavaXtendTest { @Before @Override public void setUp() throws Exception { super.setUp(); _bc = XtendBackendFacade.createForFile ("org::eclipse::xtend::middleend::xtend::test::expressions", "iso-8859-1", _mms);; _ctx = BackendFacade.createExecutionContext (_bc.getFunctionDefContext(), _ts, true); } @Test public void testStringLength () { Long result = (Long)BackendFacade.invoke(_ctx, new QualifiedName ("testStringLength"), Arrays.asList ("Hello")); assertEquals(5L, result.longValue()); } @Test public void testStringToLowerCase () { String result = (String)BackendFacade.invoke(_ctx, new QualifiedName ("testStringToLowerCase"), Arrays.asList ("This_IS_aLL_lowerCASE")); assertEquals("this_is_all_lowercase", result); } @Test public void testStringOpPlus () { CharSequence result = (CharSequence)BackendFacade.invoke(_ctx, new QualifiedName ("testStringOpPlus"), Arrays.asList ("con", "cat")); assertEquals("concat", result.toString()); } @SuppressWarnings("unchecked") @Test public void testStringToCharList () { List<String> result = (List<String>)BackendFacade.invoke(_ctx, new QualifiedName ("testStringToCharList"), Arrays.asList ("hello")); assertEquals(5L, result.size()); assertEquals("h", result.get (0)); assertEquals("e", result.get (1)); assertEquals("l", result.get (2)); assertEquals("l", result.get (3)); assertEquals("o", result.get (4)); } @SuppressWarnings("unchecked") @Test public void testStringToFirstUpper () { String result = (String)BackendFacade.invoke(_ctx, new QualifiedName ("testStringToFirstUpper"), Arrays.asList ("hello")); assertEquals("Hello", result); } @Test public void testStringSubString () { String result = (String)BackendFacade.invoke(_ctx, new QualifiedName ("testStringSubString"), Arrays.asList ("HelloWorld", 2L, 8L)); assertEquals("lloWor", result); } @Test public void testStringTrim () { String result = (String)BackendFacade.invoke(_ctx, new QualifiedName ("testStringTrim"), Arrays.asList ("\thello \n")); assertEquals("hello", result); } @Test public void testStringToFirstLower () { String result = (String)BackendFacade.invoke(_ctx, new QualifiedName ("testStringToFirstLower"), Arrays.asList ("Hello")); assertEquals("hello", result); } @Test public void testStringToUpperCase () { String result = (String)BackendFacade.invoke(_ctx, new QualifiedName ("testStringToUpperCase"), Arrays.asList ("This_IS_aLL_uPpErCASE")); assertEquals("THIS_IS_ALL_UPPERCASE", result); } @Test public void testStringSplit () { List<String> result = (List<String>)BackendFacade.invoke(_ctx, new QualifiedName ("testStringSplit"), Arrays.asList ("Say hello world!", "\\shello ")); assertEquals(2L, result.size()); assertEquals("Say", result.get (0)); assertEquals("world!", result.get (1)); } @Test public void testStringStartsWith () { Boolean result = (Boolean)BackendFacade.invoke(_ctx, new QualifiedName ("testStringStartsWith"), Arrays.asList ("Say hello world!", "Say")); assertTrue(result); } @Test public void testStringMatches () { Boolean result = (Boolean)BackendFacade.invoke(_ctx, new QualifiedName ("testStringMatches"), Arrays.asList ("Say hello world!", "Say\\s.*world!")); assertTrue(result); } @Test public void testStringAsInteger () { Long result = (Long)BackendFacade.invoke(_ctx, new QualifiedName ("testStringAsInteger"), Arrays.asList ("4")); assertEquals(4L, result.longValue()); } @Test public void testStringContains () { Boolean result = (Boolean)BackendFacade.invoke(_ctx, new QualifiedName ("testStringContains"), Arrays.asList ("Say hello world!", "hello")); assertTrue(result); } @Test public void testStringEndsWith () { Boolean result = (Boolean)BackendFacade.invoke(_ctx, new QualifiedName ("testStringEndsWith"), Arrays.asList ("Say hello world!", "world!")); assertTrue(result); } @Test public void testStringReplaceFirst () { String result = (String)BackendFacade.invoke(_ctx, new QualifiedName ("testStringReplaceFirst"), Arrays.asList ("Say hello world!", "\\s", "_")); assertEquals ("Say_hello world!", result); } @Test public void testStringReplaceAll () { String result = (String)BackendFacade.invoke(_ctx, new QualifiedName ("testStringReplaceAll"), Arrays.asList ("Say hello world!", "\\s", "_")); assertEquals ("Say_hello_world!", result); } }