예제 #1
0
        public void DotProduct()
        {
            var exp = new DotProduct(
                new Vector(new IExpression[] { new Number(1) }),
                new Vector(new IExpression[] { new Number(2) }));

            Test(exp, ResultType.Number);
        }
예제 #2
0
        public void ExecuteRightTypeExceptionTest()
        {
            var exp = new DotProduct(
                new Vector(new[] { new Number(1), new Number(2), new Number(3) }),
                new Number(2));

            Assert.Throws <ResultIsNotSupportedException>(() => exp.Execute());
        }
예제 #3
0
        public void DotProductRightException()
        {
            var exp = new DotProduct(
                new Vector(new IExpression[] { new Number(2) }),
                new Number(1));

            TestBinaryException(exp);
        }
예제 #4
0
        public void DotProductToStringTest()
        {
            var left  = new Matrices.Vector(new[] { new Number(1), new Number(-2) });
            var right = new Matrices.Vector(new[] { new Number(4), new Number(0) });
            var exp   = new DotProduct(left, right);

            Assert.Equal("dotProduct({1, -2}, {4, 0})", exp.ToString(commonFormatter));
        }
예제 #5
0
        public void CloneTest()
        {
            var exp = new DotProduct(
                new Vector(new[] { new Number(1), new Number(-2), new Number(3) }),
                new Vector(new[] { new Number(4), new Number(0), new Number(6) })
                );
            var clone = exp.Clone();

            Assert.Equal(exp, clone);
        }
예제 #6
0
        public void ExecuteTest()
        {
            var exp = new DotProduct(
                new Vector(new[] { new Number(1), new Number(2), new Number(3) }),
                new Vector(new[] { new Number(4), new Number(5), new Number(6) })
                );
            var result = exp.Execute();

            Assert.Equal(32.0, result);
        }
예제 #7
0
        public void DotProductRightUndefined()
        {
            var exp = new DotProduct(new Vector(new IExpression[] { new Number(1) }), Variable.X);

            Test(exp, ResultType.Undefined);
        }
예제 #8
0
        public void DotProductUndefined()
        {
            var exp = new DotProduct(Variable.X, Variable.X);

            Test(exp, ResultType.Undefined);
        }
예제 #9
0
 /// <summary>
 /// Analyzes the specified expression.
 /// </summary>
 /// <param name="exp">The expression.</param>
 /// <returns>The result of analysis.</returns>
 public virtual TResult Analyze(DotProduct exp)
 {
     throw new NotSupportedException();
 }
예제 #10
0
 /// <summary>
 /// Analyzes the specified expression.
 /// </summary>
 /// <param name="exp">The expression.</param>
 /// <returns>The result of analysis.</returns>
 public virtual string Analyze(DotProduct exp)
 {
     return(ToString(exp, "dotProduct({0}, {1})"));
 }