Пример #1
0
        public void EqualExpressions()
        {
            var expr1 = new IntegerExpression(1);
            var expr2 = new IntegerExpression(2);
            var expr3 = new IntegerExpression(1);
            var expr4 = new DoubleExpression(3.14159);
            var expr5 = new DoubleExpression(1.2);
            var expr6 = new DoubleExpression(3.14159);

            Assert.IsFalse(expr1.Equals(expr2));
            Assert.IsFalse(expr1.Equals(null));
            Assert.IsFalse(expr2.Equals(expr1));
            Assert.IsFalse(expr1.Equals(expr4));
            Assert.IsFalse(expr1.Equals(expr5));
            Assert.IsFalse(expr4.Equals(expr1));
            Assert.IsFalse(expr5.Equals(expr1));
            Assert.IsFalse(expr4.Equals(expr5));
            Assert.IsFalse(expr5.Equals(expr4));

            Assert.IsTrue(expr1.Equals(expr3));
            Assert.IsTrue(expr3.Equals(expr1));
            Assert.IsTrue(expr4.Equals(expr6));
            Assert.IsTrue(expr6.Equals(expr4));

            Assert.AreEqual(expr1.GetHashCode(), expr3.GetHashCode());
            Assert.AreEqual(expr4.GetHashCode(), expr6.GetHashCode());
        }
Пример #2
0
        public void GetDoubleConstant()
        {
            var expr = new DoubleExpression(3.14159);

            Assert.AreEqual(3.14159, expr.Value);
            Assert.AreSame(DoubleType.Instance, expr.Type);
            Assert.AreSame(expr, expr.Reduce());
        }
Пример #3
0
        public void CreateAndEvaluateDoubleExpression()
        {
            DoubleExpression expression = new DoubleExpression(3.14);

            Assert.AreEqual(3.14, expression.Value);

            Assert.AreEqual("3.14", expression.ToString());

            this.EvaluateZeroExpression(expression, 3.14);
        }
Пример #4
0
        public void MatchDoubleConstant()
        {
            var expr = new DoubleExpression(1.2);
            var expr1 = new DoubleExpression(1.2);
            var expr2 = new DoubleExpression(3.4);
            var expr3 = new IntegerExpression(42);

            Assert.IsTrue(expr.Match(expr, null));
            Assert.IsTrue(expr.Match(expr1, null));

            Assert.IsFalse(expr.Match(null, null));
            Assert.IsFalse(expr.Match(expr2, null));
            Assert.IsFalse(expr.Match(expr3, null));
        }
Пример #5
0
        internal DoubleColumn(DoubleExpression expr, string columnName)
            : this(columnName)
        {
            if (ReferenceEquals(expr, null))
            {
                throw new ArgumentNullException("expr");
            }

            Sql = expr.Sql;
            if (expr.ChildExpressions != null)
            {
                ChildExpressions.AddRange(expr.ChildExpressions);
            }
        }
Пример #6
0
        public static void Main(string[] args)
        {
            //Console.WriteLine("UInt64: " + ulong.MaxValue);
            //Console.WriteLine("Double: " + ((double)ulong.MaxValue).ToString("F0"));
            Stopwatch stopwatch = new Stopwatch();

            while (true)
            {
                string s = Console.ReadLine();
                stopwatch.Start();
                //Console.WriteLine("Int32: " + Int32Expression.Calculate(s));
                Console.WriteLine("Double: " + DoubleExpression.Calculate(s));
                Console.WriteLine(stopwatch.ElapsedMilliseconds + "ms");
                stopwatch.Reset();
            }
        }
Пример #7
0
 public ISet <DescriptorKind> Visit(DoubleExpression expression)
 {
     return(_emptySet);
 }
Пример #8
0
 public Expression Visit(DoubleExpression expression)
 {
     return(expression);
 }
Пример #9
0
 public void Visit(DoubleExpression de)
 {
     this.Result = de.value;
 }
Пример #10
0
 internal OracleDoubleColumn(DoubleExpression expr, string columnName)
     : base(expr, columnName)
 {
 }
 public IEnumerable <Expression> Visit(DoubleExpression expression)
 {
     return(_emptyEnumerable);
 }
Пример #12
0
 public void Visit(DoubleExpression de)
 {
     sb.Append(de.Value);
 }
Пример #13
0
 public void Visit(DoubleExpression doubleExpression)
 {
     sa.Print(doubleExpression.Value.ToString(CultureInfo.InvariantCulture));
 }
 public SimplifiedExpression Visit(DoubleExpression expression)
 {
     return(new SimplifiedExpression(expression));
 }
Пример #15
0
 public void Visit(DoubleExpression expression)
 {
 }
Пример #16
0
        // what you really want is int Visit(...)

        public void Visit(DoubleExpression de)
        {
            Result = de.Value;
        }
Пример #17
0
 public Assignment Set(DoubleExpression value)
 {
     return(new Assignment(this, ((object)value) == null ? (IExpression)NullExpression.Value : value));
 }
Пример #18
0
 private BoundExpression Bind(DoubleExpression doubleExpression)
 {
     return(new BoundDoubleExpression(doubleExpression.Value));
 }