public void Convert() { ConvertExpression e = new ConvertExpression("[in->ft]"); Assert.IsNotNull(e); double feet = e.Convert(new double[] { 12d }); Assert.AreEqual(1, feet); }
private IExpression GetExpressionFromSymbol(string p) { IExpression e; if (_expressionCache.ContainsKey(p)) e = _expressionCache[p]; else if (OperatorExpression.IsSymbol(p)) { e = new OperatorExpression(p); _expressionCache.Add(p, e); } else if (FunctionExpression.IsFunction(p)) { e = new FunctionExpression(p, false); _expressionCache.Add(p, e); } else if (ConvertExpression.IsConvertExpression(p)) { e = new ConvertExpression(p); _expressionCache.Add(p, e); } else throw new ParseException(Resources.InvalidSymbolOnStack + p); return e; }