package st.gravel.support.compiler.ast; /* This file is automatically generated from typed smalltalk source. Do not edit by hand. (C) AG5.com */ import org.junit.Test; import static org.junit.Assert.*; import st.gravel.support.compiler.ast.Statement; import st.gravel.support.compiler.ast.Parser; import st.gravel.support.compiler.ast.AssignmentNode; import st.gravel.support.compiler.ast.BlockNode; import st.gravel.support.compiler.ast.BinaryMessageNode; import st.gravel.support.compiler.ast.BinaryMethodNode; import st.gravel.support.compiler.ast.ByteArrayLiteralNode; import st.gravel.support.compiler.ast.CascadeNode; import st.gravel.support.compiler.ast.CharacterLiteralNode; import st.gravel.support.compiler.ast.DoubleLiteralNode; import st.gravel.support.compiler.ast.FixedPointLiteralNode; import st.gravel.support.compiler.ast.FloatLiteralNode; import st.gravel.support.compiler.ast.IntegerLiteralNode; import st.gravel.support.compiler.ast.KeywordMessageNode; import st.gravel.support.compiler.ast.KeywordMethodNode; import st.gravel.support.compiler.ast.ArrayLiteralNode; import st.gravel.support.compiler.ast.NamespacedVariableNode; import st.gravel.support.compiler.ast.StringLiteralNode; import st.gravel.support.compiler.ast.SymbolLiteralNode; import st.gravel.support.compiler.ast.UnaryMessageNode; import st.gravel.support.compiler.ast.UnaryMethodNode; import st.gravel.support.compiler.ast.VariableNode; public class ParserTest { @Test public void initialize() { } @Test public void testAssignmentExpression() { final Statement _node; _node = Parser.factory.source_(" foo := 7 ").parseStatement(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), AssignmentNode.factory)); assertEquals((String) "foo := 7", (String) _node.prettySourceString()); } @Test public void testAssignmentExpressionInBlock() { final Statement _node; _node = Parser.factory.source_("[ foo := 7 ]").parseStatement(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "[foo := 7]", (String) _node.prettySourceString()); } @Test public void testParse2ArgBlockEmpty1() { final BlockNode _node; _node = ((BlockNode) Parser.factory.source_("[:a :b | ]").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "[:a :b | ]", (String) _node.prettySourceString()); } @Test public void testParse2ArgBlockEmpty2() { final Statement _node; _node = Parser.factory.source_("[:a :b ]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "[:a :b | ]", (String) _node.prettySourceString()); } @Test public void testParse2ArgBlockNoTemps() { final Statement _node; _node = Parser.factory.source_("[:a :b | a foo. b bar]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "\n[:a :b | \na foo.\nb bar]", (String) _node.prettySourceString()); } @Test public void testParse2ArgBlockNoTempsDotEnd() { final Statement _node; _node = Parser.factory.source_("[:a :b | a foo. b bar.]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "\n[:a :b | \na foo.\nb bar]", (String) _node.prettySourceString()); } @Test public void testParse2ArgBlockWithTemps() { final Statement _node; _node = Parser.factory.source_("[:a :b | | c | a foo. b bar. c foo]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "\n[:a :b | \n| c |\na foo.\nb bar.\nc foo]", (String) _node.prettySourceString()); } @Test public void testParseBinaryExpression() { final Statement _node; _node = Parser.factory.source_(" 3 + 7 ").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMessageNode.factory)); assertEquals((String) "3 + 7", (String) _node.prettySourceString()); } @Test public void testParseBinaryMethod() { final BinaryMethodNode _node; _node = ((BinaryMethodNode) Parser.factory.parseMethod_("+ arg ^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMethodNode.factory)); assertEquals((String) "+ arg\n\t^bar", (String) _node.prettySourceString()); } @Test public void testParseBinaryUnaryExpression() { final Statement _node; _node = Parser.factory.source_(" 3 bar + 2 + 1 foo").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMessageNode.factory)); assertEquals((String) "3 bar + 2 + 1 foo", (String) _node.prettySourceString()); } @Test public void testParseByteArray() { final ByteArrayLiteralNode _node; _node = ((ByteArrayLiteralNode) Parser.factory.source_("#[1 2 3]").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), ByteArrayLiteralNode.factory)); assertEquals((String) "#[1 2 3]", (String) _node.prettySourceString()); assertTrue(st.gravel.support.jvm.ByteArrayExtensions.equals_(_node.value(), new byte[] { 1, 2, 3 })); } @Test public void testParseByteArrayHighValues() { final ByteArrayLiteralNode _node; _node = ((ByteArrayLiteralNode) Parser.factory.source_("#[0 127 128 129 255 0]").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), ByteArrayLiteralNode.factory)); assertEquals((String) "#[0 127 128 129 255 0]", (String) _node.prettySourceString()); assertTrue(st.gravel.support.jvm.ByteArrayExtensions.equals_(_node.value(), new byte[] { 0, 127, -128, -127, -1, 0 })); } @Test public void testParseCascade() { final Statement _node; _node = Parser.factory.source_("3 foo + 2\n\t\t+ 3;\n\t\tbar: 2;\n\t\tbaz: 3;\n\t\tbaz: 4;\n\t\tboo").parseExpression(); assertEquals((st.gravel.support.jvm.SmalltalkFactory) CascadeNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "(3 foo + 2) + 3; bar: 2; baz: 3; baz: 4; boo", (String) _node.prettySourceString()); } @Test public void testParseChar() { final CharacterLiteralNode _node; _node = ((CharacterLiteralNode) Parser.factory.source_("$a").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), CharacterLiteralNode.factory)); assertEquals((String) "$a", (String) _node.prettySourceString()); assertTrue(st.gravel.support.jvm.CharacterExtensions.equals_(_node.value(), 'a')); } @Test public void testParseDouble() { final DoubleLiteralNode _node; _node = ((DoubleLiteralNode) Parser.factory.source_("123412341345145145123412341234.003213123123d").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) DoubleLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((double) 1.2341234134515e29d, (double) _node.value(), (double) 1.0e16f); } @Test public void testParseDouble2() { final DoubleLiteralNode _node; _node = ((DoubleLiteralNode) Parser.factory.source_("3.0d.").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) DoubleLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((double) 3.0d, (double) _node.value(), (double) 0.000000001f); } @Test public void testParseDoubleWithExponent() { final DoubleLiteralNode _node; _node = ((DoubleLiteralNode) Parser.factory.source_("1.23412d29").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) DoubleLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((double) 1.23412e29d, (double) _node.value(), (double) 0.000000001f); } @Test public void testParseDoubleWithExponent2() { final DoubleLiteralNode _node; _node = ((DoubleLiteralNode) Parser.factory.source_("1d10").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) DoubleLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((double) 1.0e10d, (double) _node.value(), (double) 0.000000001f); } @Test public void testParseDoubleWithExponent3() { final DoubleLiteralNode _node; _node = ((DoubleLiteralNode) Parser.factory.source_("1d-10").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) DoubleLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((double) 1.0e-10d, (double) _node.value(), (double) 0.000000001f); } @Test public void testParseEmptyBlock() { final Statement _node; _node = Parser.factory.source_("[]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "[]", (String) _node.prettySourceString()); } @Test public void testParseFixedPoint() { final FixedPointLiteralNode _node; _node = ((FixedPointLiteralNode) Parser.factory.source_("12345.0067s").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FixedPointLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "12345.0067s", (String) _node.valueString()); } @Test public void testParseFixedPointNegativeWithExponent() { final FixedPointLiteralNode _node; _node = ((FixedPointLiteralNode) Parser.factory.source_("-2.5s2").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FixedPointLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "-2.5s2", (String) _node.valueString()); } @Test public void testParseFixedPointNegativeWithoutExponent() { final FixedPointLiteralNode _node; _node = ((FixedPointLiteralNode) Parser.factory.source_("-2.5s").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FixedPointLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "-2.5s", (String) _node.valueString()); } @Test public void testParseFixedPointWithExponent() { final FixedPointLiteralNode _node; _node = ((FixedPointLiteralNode) Parser.factory.source_("5.1s2").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FixedPointLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "5.1s2", (String) _node.valueString()); } @Test public void testParseFixedPointWithoutExponent() { final FixedPointLiteralNode _node; _node = ((FixedPointLiteralNode) Parser.factory.source_("2.5s").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FixedPointLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "2.5s", (String) _node.valueString()); } @Test public void testParseFixedPointWithZero() { final FixedPointLiteralNode _node; _node = ((FixedPointLiteralNode) Parser.factory.source_("0.5s").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FixedPointLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "0.5s", (String) _node.valueString()); } @Test public void testParseFixedPointWithZero2() { final FixedPointLiteralNode _node; _node = ((FixedPointLiteralNode) Parser.factory.source_("0.05s").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FixedPointLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "0.05s", (String) _node.valueString()); } @Test public void testParseFloat() { final FloatLiteralNode _node; _node = ((FloatLiteralNode) Parser.factory.source_("123412341345145145123412341234.003213123123").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FloatLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((float) 123412341345145145123412341234.003213123123f, (float) _node.value(), (float) 0.000000001f); } @Test public void testParseFloat2() { final FloatLiteralNode _node; _node = ((FloatLiteralNode) Parser.factory.source_("3.0.").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FloatLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((float) 3.0f, (float) _node.value(), (float) 0.000000001f); } @Test public void testParseFloatWithExponent() { final FloatLiteralNode _node; _node = ((FloatLiteralNode) Parser.factory.source_("1.23412e29").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FloatLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((float) 1.23412e29f, (float) _node.value(), (float) 0.000000001f); } @Test public void testParseFloatWithNegativeExponent() { final FloatLiteralNode _node; _node = ((FloatLiteralNode) Parser.factory.source_("1.23412e-29").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) FloatLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((float) 1.23412e-29f, (float) _node.value(), (float) 0.000000001f); } @Test public void testParseHexInteger() { final IntegerLiteralNode _node; _node = ((IntegerLiteralNode) Parser.factory.source_("16rFF").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) IntegerLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals(255, (int) _node.value()); } @Test public void testParseInteger() { final IntegerLiteralNode _node; _node = ((IntegerLiteralNode) Parser.factory.source_("123").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) IntegerLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals(123, (int) _node.value()); } @Test public void testParseIntegerSpace() { final IntegerLiteralNode _node; _node = ((IntegerLiteralNode) Parser.factory.source_("123 ").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) IntegerLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals(123, (int) _node.value()); } @Test public void testParseKeywordBinaryUnaryExpression1() { final Statement _node; _node = Parser.factory.source_("2 bar + 7 foo: 7 bar: 4 baz foo: 2 + 1 boo: 3 foo + 2 roo: 3 + 2 foo noo: 3 hoo + 2 joo").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), KeywordMessageNode.factory)); assertEquals((String) "2 bar + 7\n\tfoo: 7\n\tbar: 4 baz\n\tfoo: 2 + 1\n\tboo: 3 foo + 2\n\troo: 3 + 2 foo\n\tnoo: 3 hoo + 2 joo", (String) _node.prettySourceString()); } @Test public void testParseKeywordBinaryUnaryExpression2() { final Statement _node; _node = Parser.factory.source_("2 bar foo: 7 bar: 4 baz foo: 2 + 1 boo: 3 foo + 2 roo: 3 + 2 foo noo: 3 hoo + 2 joo").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), KeywordMessageNode.factory)); assertEquals((String) "2 bar\n\tfoo: 7\n\tbar: 4 baz\n\tfoo: 2 + 1\n\tboo: 3 foo + 2\n\troo: 3 + 2 foo\n\tnoo: 3 hoo + 2 joo", (String) _node.prettySourceString()); } @Test public void testParseKeywordBinaryUnaryExpression3() { final Statement _node; _node = Parser.factory.source_("2 + 7 foo: 7 bar: 4 baz foo: 2 + 1 boo: 3 foo + 2 roo: 3 + 2 foo noo: 3 hoo + 2 joo").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), KeywordMessageNode.factory)); assertEquals((String) "2 + 7\n\tfoo: 7\n\tbar: 4 baz\n\tfoo: 2 + 1\n\tboo: 3 foo + 2\n\troo: 3 + 2 foo\n\tnoo: 3 hoo + 2 joo", (String) _node.prettySourceString()); } @Test public void testParseKeywordBinaryUnaryExpression4() { final Statement _node; _node = Parser.factory.source_("2 + 7 bar foo: 7 bar: 4 baz foo: 2 + 1 boo: 3 foo + 2 roo: 3 + 2 foo noo: 3 hoo + 2 joo").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), KeywordMessageNode.factory)); assertEquals((String) "2 + 7 bar\n\tfoo: 7\n\tbar: 4 baz\n\tfoo: 2 + 1\n\tboo: 3 foo + 2\n\troo: 3 + 2 foo\n\tnoo: 3 hoo + 2 joo", (String) _node.prettySourceString()); } @Test public void testParseKeywordExpression() { final Statement _node; _node = Parser.factory.source_(" 3 foo: 7 bar: 4 ").parseExpression(); assertEquals((st.gravel.support.jvm.SmalltalkFactory) KeywordMessageNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "3 foo: 7 bar: 4", (String) _node.prettySourceString()); } @Test public void testParseKeywordMethod1() { final KeywordMethodNode _node; _node = ((KeywordMethodNode) Parser.factory.parseMethod_("foo: arg1 ^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), KeywordMethodNode.factory)); assertEquals((String) "foo: arg1\n\t^bar", (String) _node.prettySourceString()); } @Test public void testParseKeywordMethod2() { final KeywordMethodNode _node; _node = ((KeywordMethodNode) Parser.factory.parseMethod_("foo: arg1 bar: arg2 ^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), KeywordMethodNode.factory)); assertEquals((String) "foo: arg1 bar: arg2\n\t^bar", (String) _node.prettySourceString()); } @Test public void testParseLiteralArray() { final ArrayLiteralNode _node; _node = ((ArrayLiteralNode) Parser.factory.source_("#(#foo foo \'foo\' 1 (a b c) #( a b c) ((x)) () #[1 2 3])").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), ArrayLiteralNode.factory)); assertEquals((String) "#(#foo #foo \'foo\' 1 #(#a #b #c) #(#a #b #c) #(#(#x)) #() #[1 2 3])", (String) _node.prettySourceString()); assertTrue(st.gravel.support.jvm.IntegerExtensions.equals_(_node.value().length, 9)); } @Test public void testParseMethodWithArgAndReturnType() { final BinaryMethodNode _node; _node = ((BinaryMethodNode) Parser.factory.parseMethod_("+ arg {String} {^String}^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMethodNode.factory)); assertEquals((String) "+ arg {String} {^String}\n\t^bar", (String) _node.prettySourceString()); assertTrue(_node.argument().type() != null); assertTrue(_node.returnType() != null); } @Test public void testParseMethodWithArgType() { final BinaryMethodNode _node; _node = ((BinaryMethodNode) Parser.factory.parseMethod_("+ arg {String} ^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMethodNode.factory)); assertEquals((String) "+ arg {String}\n\t^bar", (String) _node.prettySourceString()); assertTrue(_node.argument().type() != null); assertTrue(_node.returnType() == null); } @Test public void testParseMethodWithReturnType() { final BinaryMethodNode _node; _node = ((BinaryMethodNode) Parser.factory.parseMethod_("+ arg {^String} ^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMethodNode.factory)); assertEquals((String) "+ arg {^String}\n\t^bar", (String) _node.prettySourceString()); } @Test public void testParseMethodWithReturnTypeWithSpace() { final BinaryMethodNode _node; _node = ((BinaryMethodNode) Parser.factory.parseMethod_("+ arg {^ String} ^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMethodNode.factory)); assertEquals((String) "+ arg {^String}\n\t^bar", (String) _node.prettySourceString()); } @Test public void testParseNamespacedVariable() { final NamespacedVariableNode _node; _node = ((NamespacedVariableNode) Parser.factory.source_(" foo.bar.baz ").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) NamespacedVariableNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((String) "foo.bar.baz", (String) _node.prettySourceString()); assertEquals((String[]) new String[] { "foo", "bar", "baz" }, (String[]) _node.path()); } @Test public void testParseNegativeInteger() { final IntegerLiteralNode _node; _node = ((IntegerLiteralNode) Parser.factory.source_("-123").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) IntegerLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals(-123, (int) _node.value()); } @Test public void testParseNestedExpression() { final Statement _node; _node = Parser.factory.source_(" 3 + (4 + 5) ").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMessageNode.factory)); assertEquals((String) "3 + (4 + 5)", (String) _node.prettySourceString()); } @Test public void testParseNilaryBlockNoTemps() { final Statement _node; _node = Parser.factory.source_("[1 foo. 2 bar]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "\n[\n1 foo.\n2 bar]", (String) _node.prettySourceString()); } @Test public void testParseNilaryBlockWithTemps() { final Statement _node; _node = Parser.factory.source_("[| a b | a foo. b bar]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "\n[\n| a b |\na foo.\nb bar]", (String) _node.prettySourceString()); } @Test public void testParseNilInArray1() { final ArrayLiteralNode _node; _node = ((ArrayLiteralNode) Parser.factory.source_("#(nil)").parseExpression()); assertEquals((st.gravel.support.jvm.SmalltalkFactory) ArrayLiteralNode.factory, (st.gravel.support.jvm.SmalltalkFactory) _node.factory()); assertEquals((Object) null, (Object) _node.value()[0]); } @Test public void testParseOrType() { final BinaryMethodNode _node; _node = ((BinaryMethodNode) Parser.factory.parseMethod_("+ arg {String | Nil} ^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BinaryMethodNode.factory)); assertEquals((String) "+ arg {String | Nil}\n\t^bar", (String) _node.prettySourceString()); } @Test public void testParseReturn() { final Statement _node; _node = Parser.factory.source_("[:a | ^a]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "[:a | ^a]", (String) _node.prettySourceString()); } @Test public void testParseString1() { final StringLiteralNode _node; _node = ((StringLiteralNode) Parser.factory.source_("\'fromage\'").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), StringLiteralNode.factory)); assertTrue(st.gravel.support.jvm.StringExtensions.equals_(_node.value(), "fromage")); } @Test public void testParseString2() { final StringLiteralNode _node; _node = ((StringLiteralNode) Parser.factory.source_("\'from\'\'age\'").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), StringLiteralNode.factory)); assertTrue(st.gravel.support.jvm.StringExtensions.equals_(_node.value(), "from\'age")); } @Test public void testParseSymbol1() { final SymbolLiteralNode _node; _node = ((SymbolLiteralNode) Parser.factory.source_("#\'from\'\'age\'").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), SymbolLiteralNode.factory)); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.value(), st.gravel.core.Symbol.value("from\'age"))); } @Test public void testParseSymbol2() { final SymbolLiteralNode _node; _node = ((SymbolLiteralNode) Parser.factory.source_("#foo").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), SymbolLiteralNode.factory)); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.value(), st.gravel.core.Symbol.value("foo"))); } @Test public void testParseUnaryBlockNoTemps() { final Statement _node; _node = Parser.factory.source_("[:a | a foo. 2 bar]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "\n[:a | \na foo.\n2 bar]", (String) _node.prettySourceString()); } @Test public void testParseUnaryBlockWithTemps() { final Statement _node; _node = Parser.factory.source_("[:a | | b | a foo. b bar]").parseExpression(); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "\n[:a | \n| b |\na foo.\nb bar]", (String) _node.prettySourceString()); } @Test public void testParseUnaryExpression() { final UnaryMessageNode _node; _node = ((UnaryMessageNode) Parser.factory.source_(" 3 foo ").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), UnaryMessageNode.factory)); assertEquals((String) "3 foo", (String) _node.prettySourceString()); } @Test public void testParseUnaryMethod() { final UnaryMethodNode _node; _node = ((UnaryMethodNode) Parser.factory.parseMethod_("foo self baz. ^bar")); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), UnaryMethodNode.factory)); assertEquals((String) "foo\n\tself baz.\n\t^bar", (String) _node.prettySourceString()); } @Test public void testParseVariable() { final VariableNode _node; _node = ((VariableNode) Parser.factory.source_(" foo ").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), VariableNode.factory)); assertEquals((String) "foo", (String) _node.prettySourceString()); } @Test public void testParseVariableDot() { final BlockNode _node; _node = ((BlockNode) Parser.factory.source_(" [foo. bar] ").parseExpression()); assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory)); assertEquals((String) "\n[\nfoo.\nbar]", (String) _node.prettySourceString()); } }