public void HeadingDistanceToCoords_Works(double lat, double lon, double heading, double distance, double endLat, double endLon)
        {
            var result = SearchPatrolMain.HeadingDistanceToCoords(lat, lon, heading, distance);

            Assert.Equal(endLat, result.Latitude, 5);
            Assert.Equal(endLon, result.Longitude, 5);
        }
        public void WaveDetect_ReturnsFalseWhenSameDirectionsNegative()
        {
            var bankHistory = new List <(DateTimeOffset, double)>()
            {
                (DateTimeOffset.Now, -20),
                (DateTimeOffset.Now, 0),
                (DateTimeOffset.Now, -20),
                (DateTimeOffset.Now, 0),
                (DateTimeOffset.Now, -20),
                (DateTimeOffset.Now, 0),
            };

            Assert.False(SearchPatrolMain.DetectWingWave(bankHistory, 15));
        }
        public void WaveDetect_ReturnsFalseWhenLowAngles()
        {
            var bankHistory = new List <(DateTimeOffset, double)>()
            {
                (DateTimeOffset.Now, -20),
                (DateTimeOffset.Now, 0),
                (DateTimeOffset.Now, 14),
                (DateTimeOffset.Now, 0),
                (DateTimeOffset.Now, -20),
                (DateTimeOffset.Now, 0),
            };

            Assert.False(SearchPatrolMain.DetectWingWave(bankHistory, 15));
        }
        public void WaveDetect_WorksReverse()
        {
            var bankHistory = new List <(DateTimeOffset, double)>()
            {
                (DateTimeOffset.Now, 20),
                (DateTimeOffset.Now, 0),
                (DateTimeOffset.Now, -20),
                (DateTimeOffset.Now, 0),
                (DateTimeOffset.Now, 20),
                (DateTimeOffset.Now, 0),
            };

            Assert.True(SearchPatrolMain.DetectWingWave(bankHistory, 15));
        }
        public void WaveDetect_ReturnsFalseWhenSameDirections()
        {
            var minAngle    = 15 * Math.PI / 180;
            var angle       = minAngle + .1;
            var bankHistory = new List <(DateTimeOffset, double)>()
            {
                (DateTimeOffset.Now, angle),
                (DateTimeOffset.Now, angle),
                (DateTimeOffset.Now, angle),
                (DateTimeOffset.Now, -angle),
                (DateTimeOffset.Now, -angle),
                (DateTimeOffset.Now, -angle),
            };

            Assert.False(SearchPatrolMain.DetectWingWave(bankHistory, minAngle));
        }