public void CalculateVectorTest() { //Logical data test MathCalcUtility utility = new MathCalcUtility (); Vector<double> data1 = Vector<double>.Build.DenseOfArray(new double[3]{1, 2, 3}); Vector<double> data2 = Vector<double>.Build.DenseOfArray(new double[3]{3, 5, 4}); Vector<double> vec = utility.CalculateVector (data1, data2); Assert.AreEqual (2.0, vec[0]); Assert.AreEqual (3.0, vec[1]); Assert.AreEqual (1.0, vec [2]); //Real data test data1 = Vector<double>.Build.DenseOfArray(new double[3]{51.5033630, -0.1276250, 500}); data2 = Vector<double>.Build.DenseOfArray(new double[3]{51.5033635, -0.1276255, 510}); vec = utility.CalculateVector (data1, data2); Assert.AreEqual (0.0000005, vec[0]); Assert.AreEqual (-0.0000005, vec[1]); Assert.AreEqual (10.0, vec [2]); }
public void IntersectionTest() { //Test1 MathCalcUtility utility = new MathCalcUtility (); Vector<double> plane1DataFrom = Vector<double>.Build.DenseOfArray(new double[3]{0, -1, 0}); Vector<double> plane1DataTo = Vector<double>.Build.DenseOfArray(new double[3]{1, 0, 0}); Vector<double> plane2DataFrom = Vector<double>.Build.DenseOfArray(new double[3]{6, -1, 0}); Vector<double> plane2DataTo = Vector<double>.Build.DenseOfArray(new double[3]{5, 0, 0}); Vector<double> plane1vec = utility.CalculateVector (plane1DataFrom, plane1DataTo); Vector<double> plane2vec = utility.CalculateVector (plane2DataFrom, plane2DataTo); Aircraft aircraft1 = new Aircraft ("1", plane1vec); aircraft1.DataBuffer.Add (plane1DataTo); Aircraft aircraft2 = new Aircraft ("2", plane2vec); aircraft2.DataBuffer.Add (plane2DataTo); double time = utility.Intersection (aircraft1, aircraft2, 1f); Assert.AreEqual (1.0, time); }