@@ -0,0 +1,1556 @@
+package com.five35.dex;%0A%0Aimport com.google.common.base.Optional;%0Aimport java.util.Map;%0Aimport mockit.Mock;%0Aimport mockit.MockUp;%0Aimport mockit.Mocked;%0Aimport mockit.NonStrictExpectations;%0Aimport org.junit.Assert;%0Aimport org.junit.Test;%0A%0A@SuppressWarnings(%7B %22javadoc%22, %22static-method%22, %22unused%22 %7D)%0Apublic class ScalarSymbolTest %7B%0A%09@Test%0A%09public void ctor_hasZeroBindingPower() %7B%0A%09%09new MockUp%3CSymbol%3E() %7B%0A%09%09%09@Mock(invocations = 1)%0A%09%09%09void $init(final String name, final int bindingPower) %7B%0A%09%09%09%09Assert.assertEquals(0, bindingPower);%0A%09%09%09%7D%0A%09%09%7D;%0A%0A%09%09new ScalarSymbol(%22FOO%22);%0A%09%7D%0A%0A%09@Test(expected = SyntaxException.class)%0A%09public void getLeftDenotation_throwsSyntaxException(@Mocked final Parser parser, @Mocked final Expression left) throws Exception %7B%0A%09%09new ScalarSymbol(%22FOO%22).getLeftDenotation(parser, left);%0A%09%7D%0A%0A%09@Test%0A%09public void getNullDenotation_returnsExpressionReturningCorrectValue(@Mocked final Parser parser) throws Exception %7B%0A%09%09new NonStrictExpectations() %7B%0A%09%09%09%7B%0A%09%09%09%09parser.getCurrentToken();%0A%09%09%09%09this.result = new Token(1, %225.35%22);%0A%09%09%09%7D%0A%09%09%7D;%0A%0A%09%09final float actual = new ScalarSymbol(%22FOO%22).getNullDenotation(parser).execute(Optional.%3CMap%3CString, Expression%3E%3Eabsent()).asScalar();%0A%0A%09%09Assert.assertEquals(5.35, actual, 0.001);%0A%09%7D%0A%0A%09@Test(expected = ParserException.class)%0A%09public void getNullDenotation_throwsOnUnparsableFloat(@Mocked final Parser parser) throws Exception %7B%0A%09%09new NonStrictExpectations() %7B%0A%09%09%09%7B%0A%09%09%09%09parser.getCurrentToken();%0A%09%09%09%09this.result = new Token(1, %22abc%22);%0A%09%09%09%7D%0A%09%09%7D;%0A%0A%09%09new ScalarSymbol(%22FOO%22).getNullDenotation(parser);%0A%09%7D%0A%7D%0A

add tests for ScalarSymbol