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); }
public void CrossProductRightException() { var exp = new CrossProduct( new Vector(new IExpression[] { new Number(2) }), new Number(1)); TestBinaryException(exp); }
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()); }
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)); }
public static Direction ToDirection(this CrossProduct crossProduct) { return(crossProduct > 0 ? Direction.Left : crossProduct == 0 ? Direction.Straight : Direction.Right); }
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); }
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); }
public void CrossProductRightUndefined() { var exp = new CrossProduct(new Vector(new IExpression[] { new Number(1) }), Variable.X); Test(exp, ResultType.Undefined); }
public void CrossProductUndefined() { var exp = new CrossProduct(Variable.X, Variable.X); Test(exp, ResultType.Undefined); }
/// <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(); }
/// <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})")); }