public void ExecuteDotProductTest() { var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(1), new Number(2), new Number(3) }); var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(4), new Number(5), new Number(6) }); var exp = new Mul(vector1, vector2); Assert.Equal(32.0, exp.Execute()); }
public void ExecuteCrossFailTest() { Assert.Throws <ArgumentException>(() => { var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(1), new Number(3) }); var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(10), new Number(20) }); var exp = new Mul(vector1, vector2); exp.Execute(); }); }
public void ExecuteCrossTest() { var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(1), new Number(2), new Number(3) }); var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(10), new Number(20), new Number(30) }); var exp = new Mul(vector1, vector2); var expected = new Maths.Expressions.Matrices.Vector(new[] { new Number(0), new Number(0), new Number(0) }); Assert.Equal(expected, exp.Execute()); }
public void SubTwoVectorsTest() { var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(2), new Number(3) }); var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(7), new Number(1) }); var sub = new Sub(vector1, vector2); var expected = new Maths.Expressions.Matrices.Vector(new[] { new Number(-5), new Number(2) }); var result = sub.Execute(); Assert.Equal(expected, result); }
public void AddTwoVectorsTest() { var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(2), new Number(3) }); var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(7), new Number(1) }); var add = new Add(vector1, vector2); var expected = new Maths.Expressions.Matrices.Vector(new[] { new Number(9), new Number(4) }); var result = add.Execute(); Assert.Equal(expected, result); }
public void Sub4MatricesTest() { var vector1 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) }); var vector2 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) }); var vector3 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) }); var vector4 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) }); var sub1 = new Sub(vector1, vector2); var sub2 = new Sub(vector3, vector4); var sub3 = new Sub(sub1, sub2); var expected = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(0), new Number(0) }); Assert.Equal(expected, sub3.Execute()); }
public void Add4MatricesTest() { var vector1 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) }); var vector2 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) }); var vector3 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) }); var vector4 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) }); var add1 = new Add(vector1, vector2); var add2 = new Add(vector3, vector4); var add3 = new Add(add1, add2); var expected = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(4), new Number(8) }); Assert.Equal(expected, add3.Execute()); }
public void ExecuteMulNunberByVectorTest() { var number = new Number(5); var vector = new Maths.Expressions.Matrices.Vector(new[] { new Number(1), new Number(2), new Number(3) }); var exp = new Mul(number, vector); var expected = new Maths.Expressions.Matrices.Vector(new[] { new Number(5), new Number(10), new Number(15) }); Assert.Equal(expected, exp.Execute()); }
public void ExecuteMulVectorByMatrixTest() { var vector = new Maths.Expressions.Matrices.Vector(new[] { new Number(1), new Number(2), new Number(3) }); var matrix = new Maths.Expressions.Matrices.Matrix(new[] { new Maths.Expressions.Matrices.Vector(new[] { new Number(4) }), new Maths.Expressions.Matrices.Vector(new[] { new Number(5) }), new Maths.Expressions.Matrices.Vector(new[] { new Number(6) }) }); var exp = new Mul(vector, matrix); var expected = new Maths.Expressions.Matrices.Matrix(new[] { new Maths.Expressions.Matrices.Vector(new[] { new Number(32) }) }); Assert.Equal(expected, exp.Execute()); }