Пример #1
0
        protected override void AppendExpressionPart(string part)
        {
            // replace string.class => typeof(string), string.valueOf(x) => x.ToString(), etc
            part = GenericExpressionHelper.ConvertTypeofExpressionsToCSharp(part);
            part = GenericExpressionHelper.ConvertStringValueofToString(part);
            part = GenericExpressionHelper.ConvertApexInstanceOfTypeExpressionToCSharp(part);
            part = GenericExpressionHelper.ConvertApexTypesToCSharp(part);
            part = GenericExpressionHelper.ConvertSuperToBase(part);
            part = GenericExpressionHelper.ConvertApexDoubleLiteralsToDecimals(part);

            base.AppendExpressionPart(part);
        }
        public void DoubleLiteralsAreConvertedToDecimalLiterals()
        {
            string ToCSharp(string expr) => GenericExpressionHelper.ConvertApexDoubleLiteralsToDecimals(expr);
            string ToApex(string expr) => GenericExpressionHelper.ConvertCSharpDecimalLiteralsToDoubles(expr);

            Assert.AreEqual("a = 123.45m", ToCSharp("a = 123.45"));
            Assert.AreEqual("a = .45m", ToCSharp("a = .45"));
            Assert.AreEqual("a = 1.0m", ToCSharp("a = 1.0"));
            Assert.AreEqual("a123.45", ToCSharp("a123.45"));
            Assert.AreEqual("a.", ToCSharp("a."));

            Assert.AreEqual("a = 123.45", ToApex("a = 123.45m"));
            Assert.AreEqual("a = .45", ToApex("a = .45M"));
            Assert.AreEqual("a = 1.0", ToApex("a = 1.0m"));
            Assert.AreEqual("a123.45m", ToApex("a123.45m"));
            Assert.AreEqual("a.m", ToCSharp("a.m"));
        }