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

            Test(exp, ResultType.Vector);
        }
Example #2
0
        public void CrossProductRightException()
        {
            var exp = new CrossProduct(
                new Vector(new IExpression[] { new Number(2) }),
                new Number(1));

            TestBinaryException(exp);
        }
Example #3
0
        public void ExecuteRightTypeExceptionTest()
        {
            var exp = new CrossProduct(
                new Vector(new[] { new Number(1), new Number(2), new Number(3) }),
                new Number(2));

            Assert.Throws <ResultIsNotSupportedException>(() => exp.Execute());
        }
Example #4
0
        public void CrossProductToStringTest()
        {
            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 CrossProduct(left, right);

            Assert.Equal("crossProduct({1, -2}, {4, 0})", exp.ToString(commonFormatter));
        }
Example #5
0
 public static Direction ToDirection(this CrossProduct crossProduct)
 {
     return(crossProduct > 0 ?
            Direction.Left :
            crossProduct == 0 ?
            Direction.Straight :
            Direction.Right);
 }
Example #6
0
        public void CloneTest()
        {
            var exp = new CrossProduct(
                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);
        }
Example #7
0
        public void ExecuteTest()
        {
            var exp = new CrossProduct(
                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();
            var expected = new Vector(new [] { new Number(-3), new Number(6), new Number(-3) });

            Assert.Equal(expected, result);
        }
Example #8
0
        public void CrossProductRightUndefined()
        {
            var exp = new CrossProduct(new Vector(new IExpression[] { new Number(1) }), Variable.X);

            Test(exp, ResultType.Undefined);
        }
Example #9
0
        public void CrossProductUndefined()
        {
            var exp = new CrossProduct(Variable.X, Variable.X);

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