public void DistanceTest() { //Test 1 MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (0, 1, 5000); Vector<double> coordinate2 = utility.CalculateCoordinate (0, 0, 5000); double distance = utility.Distance (coordinate1, coordinate2); Assert.That (60.1, Is.LessThan (distance)); //Assert.AreEqual (111.405, distance); Assert.That (60.2, Is.GreaterThan(distance)); //Test 2 coordinate1 = utility.CalculateCoordinate (10, 1, 5000); coordinate2 = utility.CalculateCoordinate (10, 0, 5000); distance = utility.Distance (coordinate1, coordinate2); //Assert.AreEqual (109.724, distance); Assert.That (59.2, Is.LessThan (distance)); Assert.That (59.3, Is.GreaterThan (distance)); //Test 3 coordinate1 = utility.CalculateCoordinate (70, 1, 5000); coordinate2 = utility.CalculateCoordinate (70, 0, 5000); distance = utility.Distance (coordinate1, coordinate2); //Assert.AreEqual (38.215, distance); //works Assert.That (20.6, Is.LessThan (distance)); Assert.That (20.7, Is.GreaterThan (distance)); }
public void DistanceTest() { //Test 1 MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (0, 1, 5000); Vector<double> coordinate2 = utility.CalculateCoordinate (0, 0, 5000); double distance = utility.Distance (coordinate1, coordinate2); Assert.AreEqual (111.405, distance); //Test 2 coordinate1 = utility.CalculateCoordinate (10, 1, 5000); coordinate2 = utility.CalculateCoordinate (10, 0, 5000); distance = utility.Distance (coordinate1, coordinate2); Assert.AreEqual (109.724, distance); //109.274 was the test before that was failing, is this correct? //Test 3 coordinate1 = utility.CalculateCoordinate (70, 1, 5000); coordinate2 = utility.CalculateCoordinate (70, 0, 5000); distance = utility.Distance (coordinate1, coordinate2); Assert.AreEqual (38.215, distance); //works }
public void DistanceCalc1() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (39.960210,-90.039798,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (40.039793,-89.960214,3397); double distance = utility.Distance (coordinate1, coordinate2); //7km Console.WriteLine (distance); Assert.That (Math.Abs(6.02 - distance) <= .01); }
public void DistanceCalc2() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (39.960418,-90.039589,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (40.039585,-89.960423,3395); double distance = utility.Distance (coordinate1, coordinate2); Console.WriteLine (distance); Assert.That (Math.Abs(5.99 - distance) <= .01); }
public void DistanceCalc4() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (39.960627,-90.039381,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (40.039168,-89.960840,3391); double distance = utility.Distance (coordinate1, coordinate2); Console.WriteLine (distance); Assert.That (Math.Abs(5.94 - distance) <= .01); }
public void DistancePersonalAlt() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (40,-89,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (40,-89,10000); double distance = utility.Distance (coordinate1, coordinate2); // Console.WriteLine("distance personalAlt: " + distance); Assert.That (1.15, Is.LessThan(distance)); Assert.That (1.16, Is.GreaterThan (distance)); }
public void DistancePersonalAlt() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (40,-89,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (40,-89,10000); double distance = utility.Distance (coordinate1, coordinate2); //7km distance *= 0.539956804; Assert.AreEqual (3.779697628, distance); // Assert.AreEqual (true, rh.AircraftDidEnterRadarRangeEvent (them)); }
public void DistancePersonalLat() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (40.037919,-89,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (39.962085,-89,3000); double distance = utility.Distance (coordinate1, coordinate2); Console.WriteLine("distance personalAlt: " + distance); Assert.That (4.54, Is.LessThan(distance)); Assert.That (4.55, Is.GreaterThan (distance)); }
public void FasterAircraftInFront() { IMathCalcUtility mathUtil = new MathCalcUtility (); Aircraft fasterAircraft = new Aircraft ("1", Vector<double>.Build.DenseOfArray(new double[3]{5, 0, 0})); fasterAircraft.DataBuffer.Add(Vector<double>.Build.DenseOfArray(new double[3]{5, 0, 0})); Aircraft thisAircraft = new Aircraft ("2", Vector<double>.Build.DenseOfArray(new double[3]{1, 0, 0})); thisAircraft.DataBuffer.Add(Vector<double>.Build.DenseOfArray(new double[3]{1, 0, 0})); double intersection = mathUtil.Intersection (fasterAircraft, thisAircraft, 1); Assert.AreEqual (-1.0, intersection); //should be no intersection }
public void FasterAircraftCollision() { IMathCalcUtility mathUtil = new MathCalcUtility (); Aircraft fasterAircraft = new Aircraft ("1", Vector<double>.Build.DenseOfArray(new double[3]{-5, 0, 0})); fasterAircraft.DataBuffer.Add(Vector<double>.Build.DenseOfArray(new double[3]{50, 0, 0})); Aircraft thisAircraft = new Aircraft ("2", Vector<double>.Build.DenseOfArray(new double[3]{1, 0, 0})); thisAircraft.DataBuffer.Add(Vector<double>.Build.DenseOfArray(new double[3]{0, 0, 0})); double intersection = mathUtil.Intersection (thisAircraft, fasterAircraft, 1); Assert.AreEqual (Math.Sign(1), Math.Sign(intersection)); //should be an intersection // }
public void line52_53() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (39.960627,-90.039381,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (40.039168,-89.960840,3391); double distance = utility.Distance (coordinate1, coordinate2); //7km distance *= 0.539956804; Console.WriteLine (distance); Assert.That (5.47, Is.LessThanOrEqualTo(distance)); //distance is greater than 59.9 nm // Assert.AreEqual (true, rh.AircraftDidEnterRadarRangeEvent (them)); }
public void NoMovementAtAllTest() { IMathCalcUtility mathUtil = new MathCalcUtility (); Aircraft tetheredBalloon = new Aircraft ("1", Vector<double>.Build.DenseOfArray(new double[3]{0, 0, 0})); tetheredBalloon.DataBuffer.Add(Vector<double>.Build.DenseOfArray(new double[3]{0, 0, 0})); Aircraft thisAircraft = new Aircraft ("2", Vector<double>.Build.DenseOfArray(new double[3]{1, 0, 0})); thisAircraft.DataBuffer.Add(Vector<double>.Build.DenseOfArray(new double[3]{1, 0, 0})); double intersection = mathUtil.Intersection (tetheredBalloon, thisAircraft, 1); Assert.AreEqual (-1.0, intersection); //should be no intersection since tetheredBalloon isn't moving thisAircraft.Velocity = Vector<double>.Build.DenseOfArray (new double[3]{ 1, 2, 0 }); intersection = mathUtil.Intersection (tetheredBalloon, thisAircraft, 1); Assert.AreEqual (-1.0, intersection); //still no intersection after thisAircraft changed course }
public void StopMovementTest() { IMathCalcUtility mathUtil = new MathCalcUtility (); Aircraft stoppingAircraft = new Aircraft ("1", Vector<double>.Build.DenseOfArray(new double[3]{-5, 0, 0})); stoppingAircraft.DataBuffer.Add(Vector<double>.Build.DenseOfArray(new double[3]{50, 0, 0})); Aircraft thisAircraft = new Aircraft ("2", Vector<double>.Build.DenseOfArray(new double[3]{1, 0, 0})); thisAircraft.DataBuffer.Add(Vector<double>.Build.DenseOfArray(new double[3]{0, 0, 0})); double intersection = mathUtil.Intersection (thisAircraft, stoppingAircraft, 1); Assert.AreEqual (Math.Sign(1), Math.Sign(intersection)); //On collision course stoppingAircraft.Velocity = Vector<double>.Build.DenseOfArray (new double[3]{ 0, 0, 0 }); // stoppingAircraft has stopped moving completely intersection = mathUtil.Intersection (stoppingAircraft, thisAircraft, 1); Assert.AreEqual (Math.Sign(1), Math.Sign(intersection)); //Still collision thisAircraft.Velocity = Vector<double>.Build.DenseOfArray (new double[3]{ 1, -10, 0 }); intersection = mathUtil.Intersection (stoppingAircraft, thisAircraft, 1); Assert.AreEqual (-1.0, intersection); //No intersection after thisAircraft changed course }
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, 0); Assert.AreEqual (2.0, time); }
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 DistancePersonalLat() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (40.037919,-89,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (39.962085,-89,3000); double distance = utility.Distance (coordinate1, coordinate2);//8.424km distance *= 0.539956804; double difference = Math.Abs(distance * .00001); // had to do it this way because a straight comparison was not working Assert.That(Math.Abs(distance - 4.548596116896), Is.LessThanOrEqualTo(difference), "greater than"); }
public void LLAtoECEFtest() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> result = utility.CalculateCoordinate (34.0522, -118.40806, 0); Assert.AreEqual (-1358.9179, result[0]); Assert.AreEqual (-2512.4215, result[1]); Assert.AreEqual (1917.5196, result[2]); Vector<double> result2 = utility.CalculateCoordinate (100, 100, 100); Assert.AreEqual (104.1874, result2 [0]); Assert.AreEqual (-590.8755, result2 [1]); Assert.AreEqual (3379.937, result2 [2]); }
public void LLAtoECEFtest() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> result = utility.CalculateCoordinate (34.0522, -118.40806, 0); Assert.AreEqual (-1358.9179, result[0]); Assert.AreEqual (-2512.4215, result[1]); Assert.AreEqual (1917.5196, result[2]); Vector<double> result2 = utility.CalculateCoordinate (100, 100, 100); Assert.AreEqual (104.1863, result2 [0]); Assert.AreEqual (-590.8690, result2 [1]); Assert.That (3379.9002, Is.LessThan (result2 [2])); Assert.That (3379.91, Is.GreaterThan (result2 [2])); }
public DataProcessor () { Intruders = new List<Aircraft> (); ThisAircraft = new Aircraft ("B1E24F", Vector<double>.Build.Dense(3)); //Vector in R^3 MathUtility = new MathCalcUtility(); }
public void DistancePersonalRandom() { //distance is around 59.9 nm MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (40,-89,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (41,-89,3000); double distance = utility.Distance (coordinate1, coordinate2); Console.WriteLine (distance); Console.WriteLine("distance personalRand: " + distance); Assert.That (59.96, Is.LessThanOrEqualTo(distance)); Assert.That (59.97, Is.GreaterThanOrEqualTo(distance)); }
public void DistancePersonalRandom() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (40,-89,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (41,-89,3000); double distance = utility.Distance (coordinate1, coordinate2); //7km distance *= 0.539956804; Console.WriteLine (distance); Assert.That (59.9, Is.LessThanOrEqualTo(distance)); //distance is greater than 59.9 nm // Assert.AreEqual (true, rh.AircraftDidEnterRadarRangeEvent (them)); }
public void DistancePersonalLong() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (40,-89,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (40,-89.09053,3000); double distance = utility.Distance (coordinate1, coordinate2); Console.WriteLine("distance personalLong: " + distance); Assert.That (4.174, Is.LessThan(distance)); Assert.That (4.176, Is.GreaterThan(distance)); }
public void LLAtoECEFtest() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> result = utility.CalculateCoordinate (34.0522, -118.40806, 0); Assert.AreEqual (-2516.715, result[0]); Assert.AreEqual (-4653.003, result[1]); Assert.AreEqual (3551.245, result[2]); Vector<double> result2 = utility.CalculateCoordinate (100, 100, 100); Assert.AreEqual (192.955, result2 [0]); Assert.AreEqual (-1094.301, result2 [1]); Assert.AreEqual (6259.641, result2 [2]); }
public void DistancePersonalLong() { MathCalcUtility utility = new MathCalcUtility (); Vector<double> coordinate1 = utility.CalculateCoordinate (40,-89,3000); Vector<double> coordinate2 = utility.CalculateCoordinate (40,-89.09053,3000); double distance = utility.Distance (coordinate1, coordinate2); //7.735km distance *= 0.539956804; Assert.AreEqual (4.17656587894, distance); }