Files
PX4-Autopilot/src/lib/world_magnetic_model/test_geo_lookup.cpp
T

5089 lines
366 KiB
C++

/****************************************************************************
*
* Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>
#include "geo_mag_declination.h"
TEST(GeoLookupTest, declination)
{
EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.31845, 0.40063 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.51852, 0.3937 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.54061, 0.38792 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.43337, 0.38309 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.23944, 0.37906 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.9985, 0.37569 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.74827, 0.37287 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.52237, 0.37049 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.34516, 0.36848 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.22531, 0.36677 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.15036, 0.36531 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.08396, 0.36408 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96673, 0.36309 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72049, 0.3624 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.25535, 0.3621 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.47869, 0.3623 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.30537, 0.36315 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.66806, 0.36481 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.52688, 0.36742 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.87758, 0.37112 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.75768, 0.37599 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.24927, 0.38207 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.47682, 0.38938 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.59772, 0.3979 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.78507, 0.40763 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.79519, 0.41857 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.00773, 0.43072 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.76612, 0.44403 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.04232, 0.45834 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.86652, 0.47331 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.31943, 0.48838 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.5204, 0.50275 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.61495, 0.51543 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.76251, 0.5253 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.12258, 0.53127 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.83571, 0.53253 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.99984, 0.52874 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.64863, 0.5202 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.74249, 0.50774 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.17839, 0.49265 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.81504, 0.47636 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.50255, 0.46022 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.10536, 0.44529 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.51336, 0.43235 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.64251, 0.42183 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.42956, 0.41395 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.8252, 0.40878 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.78801, 0.40631 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.27971, 0.40653 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.2608, 0.40948 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.68554, 0.41525 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.49524, 0.42406 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.61074, 0.43621 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92606, 0.45203 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.30789, 0.47178 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.60778, 0.49529 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.69552, 0.52156 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.52045, 0.54824 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.19161, 0.57149 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.03525, 0.58689 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.56497, 0.59126 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.34529, 0.58425 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.17166, 0.56833 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.73018, 0.54712 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.25431, 0.52397 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.78362, 0.50118 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.41299, 0.48006 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.25492, 0.46122 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.42151, 0.44483 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.01818, 0.43079 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.14225, 0.41892 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.88258, 0.40895 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.31845, 0.40063 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.38601, 0.37414 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.69389, 0.37025 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.83255, 0.36702 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.84161, 0.36433 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.75417, 0.36211 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.60165, 0.3603 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.41756, 0.35886 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.23741, 0.35776 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.09405, 0.35696 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.01037, 0.35645 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.99164, 0.35622 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.0198, 0.35625 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05016, 0.35655 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.01081, 0.35715 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.80534, 0.35809 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.31995, 0.35946 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.43558, 0.36142 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.04402, 0.36413 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.06526, 0.36779 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.4635, 0.37259 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.26006, 0.37863 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.5414, 0.38596 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.45906, 0.39455 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.21741, 0.40434 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.95287, 0.41534 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.83122, 0.42759 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.24312, 0.44124 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.08448, 0.45641 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.32875, 0.47316 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.01761, 0.49134 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.24178, 0.51058 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.12073, 0.53016 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.79041, 0.54898 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.40255, 0.56544 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.12895, 0.57764 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.1552, 0.58367 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.65063, 0.58219 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.71994, 0.57293 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.36297, 0.55687 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.47011, 0.53599 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.85751, 0.51274 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.32002, 0.48944 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.67407, 0.46792 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.77691, 0.44936 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.52537, 0.43431 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.84477, 0.42294 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.67726, 0.41515 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.97352, 0.41069 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.68813, 0.40932 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.77654, 0.41076 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.19173, 0.41478 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88032, 0.42115 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.78075, 0.42961 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.83015, 0.43972 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.98647, 0.45075 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.26687, 0.46153 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.78882, 0.47056 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.78423, 0.47639 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.56118, 0.47815 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.42431, 0.4759 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.60291, 0.47039 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.22747, 0.46264 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.64878, 0.45356 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.01394, 0.44381 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.87131, 0.43387 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.22828, 0.42407 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.09479, 0.41466 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.48512, 0.40585 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.42055, 0.39778 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.93198, 0.39055 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.06132, 0.38421 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.86035, 0.37876 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.38601, 0.37414 + 2);
EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.57775, 0.3547 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.92213, 0.35266 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.11625, 0.35102 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.19352, 0.3497 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.17691, 0.34867 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.08542, 0.3479 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.9414, 0.34737 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.77372, 0.3471 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.61523, 0.34709 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.49603, 0.34736 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43579, 0.34793 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43664, 0.34883 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.47655, 0.35004 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.50262, 0.35159 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.42622, 0.35348 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.12407, 0.35576 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.44955, 0.35856 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.25403, 0.36205 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.41398, 0.36648 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.85739, 0.37204 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.58578, 0.37887 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.68876, 0.38696 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.34668, 0.39622 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.18611, 0.40653 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.621, 0.41784 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.68933, 0.4303 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.19234, 0.44418 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.0291, 0.45979 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19605, 0.47739 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.76305, 0.49709 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.83687, 0.51881 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.52709, 0.5422 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.93036, 0.56647 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.14262, 0.59008 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.29313, 0.61056 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.57348, 0.62474 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.22433, 0.62955 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.46368, 0.62322 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.39179, 0.60613 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.9404, 0.58071 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.90279, 0.55064 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.01622, 0.51966 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.03855, 0.49074 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.78444, 0.46572 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.12456, 0.44542 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.96865, 0.42993 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.24904, 0.41893 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.91152, 0.4119 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.91242, 0.40826 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.21822, 0.40738 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.80426, 0.40868 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.65269, 0.41152 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.7552, 0.41526 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.12873, 0.41911 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.84595, 0.42217 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.06535, 0.42359 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.03028, 0.42281 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.01721, 0.41985 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.25523, 0.41528 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.86871, 0.40991 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.87586, 0.40439 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.76925, 0.39911 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.12577, 0.39412 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.23244, 0.38938 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.09829, 0.38476 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.71017, 0.38022 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.04497, 0.37576 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.07892, 0.37143 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.79379, 0.36733 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.1825, 0.36353 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.25455, 0.36013 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.0384, 0.35718 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.57775, 0.3547 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.52185, 0.33996 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.86025, 0.33907 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.0708, 0.33844 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.18561, 0.33804 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.22023, 0.33783 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.18107, 0.33779 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.07599, 0.33791 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.92143, 0.33822 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.74262, 0.33874 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56897, 0.33952 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42791, 0.34059 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.33852, 0.342 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.30298, 0.34376 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.29394, 0.34585 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.24048, 0.34828 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.0205, 0.35106 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.46859, 0.35429 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.40189, 0.35817 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.6575, 0.36293 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.13082, 0.36879 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.80734, 0.37586 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.78384, 0.38408 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.27207, 0.39326 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.42553, 0.40321 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.97196, 0.41391 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.06807, 0.42556 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.5124, 0.43859 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.22663, 0.45342 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.24366, 0.47039 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.66817, 0.48974 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.62379, 0.51157 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.20553, 0.5359 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.45838, 0.56245 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.39733, 0.59027 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.06625, 0.61715 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.60794, 0.63944 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.29285, 0.65258 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.45614, 0.65281 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.35427, 0.63888 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.03771, 0.61278 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.33679, 0.57887 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.95618, 0.54222 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.59149, 0.5071 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.99716, 0.47627 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.99772, 0.45101 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.47145, 0.43146 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.33297, 0.41713 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.52498, 0.40724 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.01706, 0.4009 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.80517, 0.39723 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.90687, 0.3954 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.35392, 0.39463 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.19189, 0.3942 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.49697, 0.39342 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.4053, 0.39168 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.12815, 0.38862 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.92154, 0.3843 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.0124, 0.3792 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.5266, 0.37399 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.4662, 0.36924 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.74268, 0.36524 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76271, 0.362 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14529, 0.35935 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.44984, 0.35704 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.67276, 0.35489 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.78144, 0.35276 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.73415, 0.35062 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.49054, 0.34848 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.01484, 0.3464 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.27963, 0.34443 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.27368, 0.34266 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.00923, 0.34116 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.52185, 0.33996 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.0259, 0.32865 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.32887, 0.32847 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.52494, 0.3285 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.64985, 0.32873 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.71624, 0.32909 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.7206, 0.32959 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.65663, 0.3302 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.52596, 0.33095 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34151, 0.33186 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12562, 0.33298 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.90685, 0.33436 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.7157, 0.33603 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.57542, 0.33802 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.4841, 0.34031 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.39127, 0.34287 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.18108, 0.34573 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.67638, 0.34899 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.66881, 0.35283 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.96643, 0.3575 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.4432, 0.36321 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.07934, 0.36999 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.98661, 0.37771 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.59064, 0.38611 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.31116, 0.39497 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.80947, 0.40433 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.78029, 0.41452 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.0387, 0.42602 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.53638, 0.43933 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.33818, 0.45474 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.57224, 0.47238 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.36813, 0.49231 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.80188, 0.51461 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.87221, 0.53929 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.5251, 0.56596 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.72533, 0.59316 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.54969, 0.61784 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.25147, 0.63546 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.23117, 0.64138 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.89, 0.633 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.44692, 0.61102 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.85264, 0.57916 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.84782, 0.54255 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.09151, 0.50602 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.26472, 0.47303 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.11433, 0.4454 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.45685, 0.42355 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.17083, 0.40705 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.1918, 0.39505 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.50899, 0.38656 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.15666, 0.38061 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.19646, 0.37637 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.69726, 0.37312 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.72936, 0.37028 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.38451, 0.36733 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.81011, 0.36389 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.22065, 0.3598 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.85589, 0.35524 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.9, 0.35064 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.41599, 0.34647 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33807, 0.34305 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.48053, 0.34049 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.19741, 0.33867 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.92271, 0.33737 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.69405, 0.33636 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48759, 0.33544 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.24955, 0.33451 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.92431, 0.33353 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.4647, 0.33252 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.8291, 0.33152 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.9799, 0.33057 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.89162, 0.32973 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.56372, 0.32908 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.0259, 0.32865 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.98696, 0.32008 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.23307, 0.32033 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.38817, 0.32079 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.49577, 0.32142 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.57036, 0.32219 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.6028, 0.32308 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.57537, 0.32406 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.4756, 0.32515 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30261, 0.32636 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.06831, 0.32772 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.79761, 0.32928 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.52706, 0.33106 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.29554, 0.33306 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.1214, 0.33528 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.97069, 0.3377 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.73274, 0.34034 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.22226, 0.34332 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.21468, 0.34684 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.5028, 0.35113 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.95493, 0.35633 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.56024, 0.36242 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.45373, 0.36917 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.09052, 0.37627 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.70865, 0.38356 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.03147, 0.39116 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.76966, 0.39949 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.76379, 0.4091 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.98821, 0.42045 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.52036, 0.4337 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.48938, 0.44882 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.01518, 0.4656 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.15493, 0.48388 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.88163, 0.50358 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.11283, 0.52444 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.78475, 0.54561 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.94519, 0.56508 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.82103, 0.57963 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.80777, 0.58573 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.35498, 0.58096 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.79688, 0.56519 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.2328, 0.54064 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.52077, 0.51094 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.35836, 0.47996 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.38501, 0.45086 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.26116, 0.42561 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.71495, 0.40498 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.56454, 0.38887 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.72418, 0.37667 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.19576, 0.36755 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.04433, 0.36072 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.36095, 0.3555 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.22872, 0.35135 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.71513, 0.34783 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.90076, 0.34454 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.92324, 0.3412 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.99118, 0.33769 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.33666, 0.33409 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.12703, 0.33071 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39644, 0.32783 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.04144, 0.32565 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.12312, 0.32418 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.28307, 0.32331 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.55783, 0.32284 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.97376, 0.32256 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.4834, 0.32231 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01027, 0.32202 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.48648, 0.32166 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.86282, 0.32127 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.09831, 0.32087 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.15103, 0.32049 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.98513, 0.32019 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.58896, 0.32004 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.98696, 0.32008 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.34578, 0.31384 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.52111, 0.31436 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.61406, 0.31507 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.67898, 0.31596 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.73651, 0.317 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.77638, 0.31815 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.77326, 0.31939 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70297, 0.32071 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.55176, 0.32212 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.32065, 0.32364 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.02896, 0.32528 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.71542, 0.32705 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.42837, 0.32895 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.19836, 0.33095 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.99972, 0.33306 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.72197, 0.33534 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.17334, 0.33791 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.12233, 0.34099 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.3615, 0.34476 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.77003, 0.34929 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.35934, 0.35446 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.70778, 0.35998 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.13569, 0.36554 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.55738, 0.37104 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.62147, 0.37669 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.0667, 0.38298 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.75593, 0.39045 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.66987, 0.3995 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.87623, 0.41018 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.48581, 0.42227 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.60203, 0.43527 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.27644, 0.44872 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.49276, 0.46222 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.19512, 0.47546 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.353, 0.48791 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.03295, 0.49859 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.44056, 0.50594 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.90644, 0.50826 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.81315, 0.50429 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.49135, 0.49378 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.12898, 0.47766 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.72457, 0.45777 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.0924, 0.4363 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.9122, 0.41528 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.80771, 0.3962 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.43165, 0.37991 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.53233, 0.36664 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.98555, 0.35614 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.78754, 0.34796 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.01512, 0.34161 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.76919, 0.33664 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.12921, 0.33269 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.14641, 0.32946 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.8816, 0.32666 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.45839, 0.32406 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.08079, 0.32153 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.98267, 0.31908 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33211, 0.31689 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.15485, 0.31513 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.67328, 0.31391 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.36559, 0.31323 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.13186, 0.313 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.09957, 0.31305 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.28371, 0.31321 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.61319, 0.31336 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.989, 0.31344 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33178, 0.31346 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.59214, 0.31344 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.73236, 0.31339 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.70904, 0.31335 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.47799, 0.31338 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.01719, 0.31352 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.34578, 0.31384 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.06044, 0.30969 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.16029, 0.31037 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.17803, 0.31124 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.18112, 0.31229 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.19999, 0.31347 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.22734, 0.31477 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.23368, 0.31615 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18566, 0.3176 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.05852, 0.3191 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.84377, 0.32065 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.55552, 0.32227 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.23277, 0.32393 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.92774, 0.32564 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.67428, 0.32736 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.44559, 0.32912 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.12584, 0.33102 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.51868, 0.33319 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.39528, 0.33584 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.56204, 0.3391 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.92294, 0.34294 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.52014, 0.34715 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.45736, 0.3514 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.70487, 0.35541 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.86988, 0.35914 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.63112, 0.36287 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.75549, 0.36711 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.11724, 0.37236 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.68794, 0.37891 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51248, 0.38677 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.67845, 0.39558 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.2812, 0.40471 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.39187, 0.41347 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.04464, 0.42129 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.25485, 0.42782 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.05948, 0.43288 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.55446, 0.43625 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.90727, 0.43765 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.34279, 0.43664 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.11522, 0.43283 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.47449, 0.42601 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.62343, 0.4164 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66246, 0.40467 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.53901, 0.39176 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.03368, 0.37866 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.80483, 0.36622 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.4811, 0.35505 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.76195, 0.34547 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.48206, 0.33752 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.61704, 0.33106 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.23704, 0.32586 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.43674, 0.32171 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.2815, 0.31841 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.80138, 0.31579 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.03548, 0.31364 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.09155, 0.31181 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.16722, 0.31015 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.4994, 0.30866 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26345, 0.30741 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.51231, 0.3065 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.96136, 0.30599 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.31667, 0.30587 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.80756, 0.30607 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.56901, 0.30645 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.60672, 0.30691 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.8293, 0.30734 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.11783, 0.3077 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38244, 0.30798 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.57331, 0.30821 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.65575, 0.30842 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.58522, 0.30862 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.30972, 0.30886 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.79701, 0.3092 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.06044, 0.30969 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.08949, 0.30747 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.12085, 0.30826 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.06166, 0.30923 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.99421, 0.31035 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.96191, 0.3116 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.96396, 0.31295 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.96937, 0.31436 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93714, 0.3158 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.83269, 0.31725 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.63958, 0.31872 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.3682, 0.3202 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.05724, 0.32166 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.75857, 0.32311 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.50182, 0.32452 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.25149, 0.32596 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.88324, 0.32753 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.19985, 0.32939 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.9846, 0.3317 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.06927, 0.33453 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.3916, 0.33775 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.97354, 0.3411 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.81827, 0.3442 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.84265, 0.34683 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.7203, 0.34901 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.16207, 0.35105 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.95517, 0.35342 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.97431, 0.35653 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.17543, 0.36065 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.58251, 0.36572 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.27069, 0.37137 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.34493, 0.377 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.91752, 0.38189 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.09308, 0.38551 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.9681, 0.38761 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.63972, 0.38826 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.21141, 0.3877 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.79097, 0.38618 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.49024, 0.38381 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.43634, 0.38052 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.78646, 0.37615 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.72034, 0.37064 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.3907, 0.36411 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84621, 0.35688 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.97371, 0.34933 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.50397, 0.34187 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.08915, 0.33482 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.41525, 0.32844 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.29058, 0.32286 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.66871, 0.31811 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.60465, 0.31415 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.17901, 0.3109 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.43918, 0.30829 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.39363, 0.30625 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.05972, 0.30466 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.52692, 0.30341 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.98124, 0.30241 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.65721, 0.30161 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.26396, 0.30104 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.74701, 0.30075 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.9261, 0.30074 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.04462, 0.30101 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.34505, 0.3015 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.96846, 0.30213 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.91491, 0.30281 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.07885, 0.30347 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.32653, 0.30406 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.55915, 0.30459 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.72505, 0.30506 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.79031, 0.30549 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.70779, 0.3059 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.41723, 0.30633 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.87564, 0.30684 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.08949, 0.30747 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.38176, 0.30703 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.36569, 0.30793 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.24199, 0.30897 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.10885, 0.31012 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.02565, 0.31137 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.00124, 0.31269 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.00504, 0.31402 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.9888, 0.31534 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.90793, 0.31663 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.73845, 0.31789 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.48782, 0.31911 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.19418, 0.32028 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.90629, 0.32141 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.64489, 0.32251 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.36231, 0.32366 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.92642, 0.32498 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.14477, 0.32663 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.82131, 0.32871 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.82106, 0.33121 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.11908, 0.33394 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.18071, 0.33656 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.86178, 0.33874 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.64004, 0.34027 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.21965, 0.34121 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.33874, 0.34186 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.79617, 0.34264 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.46273, 0.34392 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28379, 0.34589 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.27639, 0.34852 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.5207, 0.3515 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.14492, 0.35433 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.30558, 0.35646 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.16743, 0.35749 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.88589, 0.3573 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.59129, 0.35606 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.37498, 0.3541 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.28488, 0.35179 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.34104, 0.34934 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.57317, 0.34676 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.06229, 0.34394 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.04586, 0.34074 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.58107, 0.33713 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.43306, 0.33314 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.3676, 0.32891 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.62615, 0.32457 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.04019, 0.32027 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.3087, 0.31616 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.23225, 0.31238 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.75009, 0.309 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.90329, 0.30607 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.75871, 0.30359 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.34794, 0.30156 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.66123, 0.29998 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.69609, 0.29878 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.52198, 0.29793 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.30722, 0.29736 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27561, 0.29702 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.39224, 0.29692 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.65456, 0.29704 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.64002, 0.29738 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.59269, 0.29792 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.76004, 0.29863 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.28682, 0.29945 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.17184, 0.30033 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.30361, 0.30121 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.54052, 0.30205 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.77724, 0.30285 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95846, 0.30358 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.0478, 0.30426 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.99323, 0.30491 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.72517, 0.30556 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.18878, 0.30625 + 1);
EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.38176, 0.30703 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.87116, 0.30822 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.8446, 0.30926 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.6852, 0.31037 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.50705, 0.31154 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.38774, 0.31275 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.3487, 0.31395 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.36156, 0.31513 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37071, 0.31623 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.32033, 0.31726 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.17776, 0.31821 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.94677, 0.31909 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.66387, 0.3199 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.373, 0.32068 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.08463, 0.32146 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.73985, 0.32236 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.20311, 0.32349 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.29361, 0.32499 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.84279, 0.32692 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.75313, 0.32917 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.0363, 0.33151 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.18102, 0.33358 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.68266, 0.33506 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.20625, 0.33577 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.48513, 0.33578 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.27884, 0.33537 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.39448, 0.33491 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.70378, 0.33471 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.15501, 0.33497 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.77547, 0.33568 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.66327, 0.33662 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.97058, 0.33747 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.88254, 0.33785 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.59499, 0.33751 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.29014, 0.33639 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.10926, 0.33463 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.12883, 0.33252 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.35461, 0.33033 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.7457, 0.32824 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.26586, 0.32629 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.06041, 0.3244 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.12156, 0.32248 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.74967, 0.32043 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.8029, 0.31821 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25603, 0.31582 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.24245, 0.3133 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.98339, 0.31068 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.14532, 0.30804 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04852, 0.30549 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.62611, 0.3031 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.91027, 0.30094 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.95899, 0.29904 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.79446, 0.29745 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.39516, 0.29618 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.74315, 0.29525 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.88797, 0.29464 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97549, 0.29432 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.2103, 0.29427 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.23602, 0.29445 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.319, 0.29484 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.1582, 0.29542 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.01053, 0.29615 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.05665, 0.29702 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.50522, 0.298 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.33728, 0.29907 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.44429, 0.30018 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.68467, 0.3013 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.94974, 0.3024 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17908, 0.30345 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.3307, 0.30445 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.34547, 0.3054 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.14343, 0.30632 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.65661, 0.30724 + 1);
EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.87116, 0.30822 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.4759, 0.31084 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.49175, 0.31207 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.34327, 0.31328 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.1581, 0.31446 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.03262, 0.31559 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.0031, 0.31665 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.04537, 0.3176 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09703, 0.31843 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.09012, 0.31913 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.98134, 0.31971 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.76842, 0.32021 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.48399, 0.32064 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.16579, 0.32106 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.81509, 0.32155 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.36586, 0.32222 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.6857, 0.32321 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.61215, 0.3246 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.00887, 0.32638 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.81706, 0.32843 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.91777, 0.33044 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.05167, 0.33207 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.3734, 0.33302 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.64224, 0.33314 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.61691, 0.33249 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.07611, 0.33131 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.8399, 0.32992 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79333, 0.32863 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.90327, 0.32761 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.21957, 0.32692 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.86072, 0.32645 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.99164, 0.326 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.80251, 0.32536 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.4906, 0.32437 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.23943, 0.32298 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.18997, 0.32128 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.41099, 0.31942 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.88802, 0.31759 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.54731, 0.31591 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.31194, 0.31443 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.83416, 0.31312 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.81085, 0.31189 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.46307, 0.31068 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.6372, 0.30942 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.27327, 0.30807 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45819, 0.30659 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40379, 0.30497 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64104, 0.30325 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.49131, 0.30149 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.07869, 0.29977 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.43054, 0.29814 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.60148, 0.29666 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.61188, 0.29537 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.43683, 0.29432 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.04924, 0.29354 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48105, 0.29305 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85313, 0.29286 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.34419, 0.29295 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.10856, 0.2933 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.18815, 0.29384 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.47348, 0.29456 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.74352, 0.29541 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.76544, 0.29639 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.39569, 0.29751 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.37497, 0.29877 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.44902, 0.30012 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.69252, 0.30154 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.997, 0.30298 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29634, 0.3044 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.54071, 0.30578 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.66257, 0.3071 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.57136, 0.30837 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.18528, 0.30961 + 1);
EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.4759, 0.31084 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.10263, 0.31461 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.22683, 0.31607 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.15299, 0.31742 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.01654, 0.31863 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.92996, 0.31969 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.94481, 0.32056 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04325, 0.32126 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15835, 0.32178 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.21088, 0.32214 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.14575, 0.32236 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.95169, 0.32249 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.65411, 0.32257 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.2831, 0.32269 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.83269, 0.32293 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.23513, 0.32342 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.36778, 0.32428 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.09191, 0.32556 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.3059, 0.3272 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.98894, 0.32901 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.78245, 0.3307 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.84939, 0.33194 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.00452, 0.33245 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.02424, 0.33212 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.68921, 0.33099 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.80059, 0.32927 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.20281, 0.32724 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.80965, 0.32518 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.61908, 0.3233 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.70728, 0.32166 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.20609, 0.32027 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.27728, 0.31903 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.09521, 0.31782 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.83811, 0.31655 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.67614, 0.31515 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.74567, 0.31365 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.11573, 0.31211 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.76948, 0.31064 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.62195, 0.30931 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.42512, 0.30817 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.4159, 0.30721 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.2982, 0.30639 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.93585, 0.30565 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.17637, 0.30494 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.94025, 0.30418 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.28015, 0.30331 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.37154, 0.3023 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.43709, 0.30114 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.34952, 0.29987 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.92001, 0.29857 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.29859, 0.2973 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.53999, 0.29609 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.66914, 0.29499 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.66579, 0.29406 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50094, 0.29335 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19296, 0.29291 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.83758, 0.29275 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.58352, 0.29289 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.56159, 0.29329 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.80572, 0.2939 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.21531, 0.29467 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.58749, 0.29558 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.7051, 0.29663 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.4284, 0.29786 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.73838, 0.29927 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.28424, 0.30086 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.519, 0.30257 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.86103, 0.30436 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.23891, 0.30618 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.5941, 0.30797 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.85075, 0.30973 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.90923, 0.31142 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.67482, 0.31305 + 1);
EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.10263, 0.31461 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.65821, 0.3191 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.96229, 0.32086 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.0393, 0.3224 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.02281, 0.32366 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.03406, 0.32464 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.13694, 0.32534 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32149, 0.32579 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.52035, 0.32601 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.6469, 0.32607 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.63542, 0.326 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.46356, 0.32585 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.14602, 0.32569 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.70331, 0.3256 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.12379, 0.32569 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.34249, 0.32608 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.25164, 0.32686 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.73943, 0.32804 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.73928, 0.32951 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.26665, 0.33106 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.57255, 0.33239 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.60323, 0.33319 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.61656, 0.33327 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.3998, 0.33252 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.75407, 0.33101 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.51013, 0.32891 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55044, 0.32647 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.83065, 0.32394 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.38588, 0.32151 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.31517, 0.3193 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.75281, 0.31736 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.84361, 0.31566 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.73349, 0.31416 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.57173, 0.31278 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.50865, 0.31146 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.67421, 0.31016 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.14247, 0.30891 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.9055, 0.30773 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.11758, 0.30668 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.03159, 0.30578 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.8985, 0.30506 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.69064, 0.3045 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.29435, 0.30406 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.56754, 0.30369 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.42247, 0.3033 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.88679, 0.30282 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.10447, 0.30217 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.27262, 0.30135 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.5526, 0.30037 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.0121, 0.29931 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.36983, 0.29823 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.64886, 0.29716 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.85789, 0.29616 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.98733, 0.29528 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01284, 0.29458 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.94409, 0.29412 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.85346, 0.29394 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.85835, 0.29405 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.06203, 0.29443 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.48595, 0.29502 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.03548, 0.29578 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.52576, 0.29669 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.75676, 0.29777 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.59354, 0.29905 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.00643, 0.30057 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.05685, 0.30232 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.15134, 0.30428 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.51919, 0.30638 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.9709, 0.30856 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43975, 0.31077 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.84327, 0.31296 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.07627, 0.3151 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.03476, 0.31716 + 1);
EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.65821, 0.3191 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.06869, 0.32387 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.61847, 0.32594 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.9253, 0.32769 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.10858, 0.32903 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.28619, 0.32997 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52703, 0.33052 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.82855, 0.33076 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.12798, 0.33077 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.33799, 0.33062 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.38659, 0.33039 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.24064, 0.33013 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.90176, 0.3299 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.37878, 0.32979 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.65461, 0.3299 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.66939, 0.33033 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.33249, 0.33113 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.55965, 0.33226 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.31791, 0.33358 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.3429, 0.33483 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.28748, 0.33572 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.32073, 0.33602 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.22575, 0.33557 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.79531, 0.33436 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.85177, 0.33247 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26309, 0.33008 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.95977, 0.32739 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.94588, 0.32461 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.29304, 0.32191 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.11608, 0.31942 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.54256, 0.3172 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.69301, 0.31528 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.681, 0.31365 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.62513, 0.31224 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.65428, 0.31101 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.89062, 0.3099 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.414, 0.30888 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.23069, 0.30795 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.72647, 0.30713 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.55772, 0.30644 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.33403, 0.30591 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.04861, 0.30555 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.61268, 0.30533 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.90168, 0.3052 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.8286, 0.30507 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.40333, 0.30484 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.74129, 0.30443 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.0129, 0.30379 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.36457, 0.30295 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.86185, 0.30199 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.48759, 0.30097 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.18646, 0.29994 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.08249, 0.29895 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.32293, 0.29805 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.51964, 0.2973 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.67816, 0.29678 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.85057, 0.29653 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.12359, 0.29656 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.57122, 0.29686 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.19868, 0.29739 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.91331, 0.29808 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.54529, 0.29892 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.91054, 0.29994 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.87924, 0.3012 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.4122, 0.30273 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.55252, 0.30456 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.38764, 0.30666 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.01003, 0.30896 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.50111, 0.31142 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07225, 0.31395 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61718, 0.31653 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.03028, 0.31908 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.2047, 0.32155 + 1);
EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.06869, 0.32387 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.30031, 0.32852 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14379, 0.33086 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74836, 0.3328 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20727, 0.33424 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.62049, 0.33518 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.05087, 0.33567 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.49982, 0.3358 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.91307, 0.33572 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.21014, 0.33553 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.31956, 0.33533 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.20067, 0.33518 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.84196, 0.33513 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.2392, 0.33526 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.36893, 0.33563 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.176, 0.33632 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.58614, 0.33732 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.54059, 0.33854 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.03743, 0.33978 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.84078, 0.34074 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.92798, 0.34116 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.00453, 0.34084 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.84015, 0.33973 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.2308, 0.33793 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.02227, 0.33559 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.12426, 0.3329 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.51822, 0.33004 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.25484, 0.32715 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.43618, 0.32438 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.18579, 0.32181 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.62004, 0.31952 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.83526, 0.31755 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.91599, 0.31589 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.95369, 0.31453 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.05693, 0.3134 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.33843, 0.31246 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.88157, 0.31166 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.29274, 0.31096 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.23313, 0.31037 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.02744, 0.30989 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.74823, 0.30955 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.40567, 0.30937 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.93694, 0.30934 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.24045, 0.30941 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.23736, 0.30948 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.92563, 0.30943 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.39364, 0.30915 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.78221, 0.3086 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.21789, 0.30779 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.76069, 0.3068 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.397, 0.30573 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.07417, 0.30464 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.74594, 0.30358 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.39642, 0.30261 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.03027, 0.30178 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.35697, 0.30117 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.80029, 0.30082 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.35758, 0.30074 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.07304, 0.30093 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.93261, 0.30132 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.84078, 0.30187 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.63818, 0.30256 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.15406, 0.30344 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.26411, 0.30456 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.92272, 0.30598 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.15875, 0.30774 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.04642, 0.30982 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.67292, 0.31217 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.12033, 0.31474 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.53284, 0.31746 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19991, 0.32027 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78044, 0.32311 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17242, 0.32589 + 1);
EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.30031, 0.32852 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.37314, 0.33286 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.53196, 0.33535 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.47699, 0.33742 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.26751, 0.33897 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.97303, 0.33997 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.63868, 0.34051 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.26375, 0.34071 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.8032, 0.34074 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.18889, 0.34074 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.3564, 0.34082 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.2626, 0.34106 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.8853, 0.34149 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.20758, 0.34218 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.19849, 0.34315 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.80533, 0.34441 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.96694, 0.34591 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.64622, 0.34746 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.869, 0.34878 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.25039, 0.34953 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.51309, 0.34944 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.67124, 0.34838 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.47881, 0.34646 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.7357, 0.34389 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.31343, 0.34094 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.16368, 0.33785 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.31434, 0.33477 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.85418, 0.33183 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.90661, 0.32908 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.59831, 0.32656 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.03477, 0.32434 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.29386, 0.32242 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.43907, 0.32084 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.54136, 0.31957 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.69173, 0.31858 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.99175, 0.31783 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.5244, 0.31725 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.67775, 0.31681 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.64413, 0.31647 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.44567, 0.31624 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.15057, 0.31612 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.78168, 0.31615 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.30157, 0.31631 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.63503, 0.31657 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.7169, 0.3168 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.5379, 0.31687 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.1601, 0.31666 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.69084, 0.3161 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.23057, 0.31523 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.82856, 0.31414 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.47319, 0.31294 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.1167, 0.31171 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.71189, 0.31053 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.2346, 0.30945 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.68068, 0.30853 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.04598, 0.30781 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.68952, 0.30735 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.55666, 0.30714 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.5696, 0.30716 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.69202, 0.30736 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.82054, 0.30767 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.80122, 0.3081 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.47407, 0.30868 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.72164, 0.30951 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.4967, 0.31066 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.82016, 0.31217 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.75825, 0.31403 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.39532, 0.31623 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.81607, 0.3187 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.10205, 0.32139 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.6626, 0.32423 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.38714, 0.32716 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.98115, 0.33008 + 1);
EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.37314, 0.33286 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.35885, 0.33705 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.82636, 0.33954 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.12028, 0.34165 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.26483, 0.3433 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.29319, 0.34446 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.22485, 0.34522 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.05033, 0.34572 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.73087, 0.34614 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.21129, 0.34664 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.43741, 0.34733 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.36763, 0.3483 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.97259, 0.34959 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.22449, 0.35123 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.08456, 0.35321 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.50007, 0.35547 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.41895, 0.35787 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.82158, 0.36011 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.7588, 0.36177 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.62329, 0.36243 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.0908, 0.3618 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.36557, 0.35986 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.18649, 0.35689 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.36032, 0.35329 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.78586, 0.34948 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.4533, 0.34578 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.42791, 0.34234 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.82489, 0.33924 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.77933, 0.33648 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.41719, 0.33405 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.83612, 0.33194 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.10364, 0.33016 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.27203, 0.32872 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.39963, 0.32761 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.56342, 0.32681 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.85284, 0.32629 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.34609, 0.32599 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.91746, 0.32585 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.95052, 0.32583 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.80585, 0.3259 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.54309, 0.32607 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.19311, 0.32634 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.7412, 0.32671 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.13891, 0.32713 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.33767, 0.32748 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.32401, 0.32762 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.13436, 0.32741 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.83947, 0.32681 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.50776, 0.32584 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.17203, 0.32461 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.81969, 0.32325 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.40898, 0.32188 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.89599, 0.32058 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25372, 0.31941 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.47344, 0.3184 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.55324, 0.31759 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.51201, 0.31702 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.72642, 0.31665 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.073, 0.31644 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.4898, 0.31632 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.86079, 0.31625 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.03326, 0.31622 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.8568, 0.31631 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.22378, 0.31663 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.09164, 0.31726 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.48074, 0.31829 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.45512, 0.31972 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.099, 0.32152 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.49932, 0.32367 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.7387, 0.32609 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.10343, 0.32873 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.94837, 0.33151 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.72085, 0.33433 + 1);
EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.35885, 0.33705 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.35863, 0.34176 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.10495, 0.3441 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.72241, 0.34619 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.2057, 0.34796 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.55437, 0.34941 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.76103, 0.35061 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.80319, 0.35171 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.64293, 0.35287 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.23368, 0.35425 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.52941, 0.35598 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.49042, 0.35813 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.08196, 0.36076 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.26704, 0.36387 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.99919, 0.36742 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.22378, 0.37126 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.89474, 0.37512 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.00731, 0.37854 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.63691, 0.38089 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.03645, 0.3816 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.74078, 0.38036 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.16692, 0.37727 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.04157, 0.37287 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.18245, 0.36783 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.51655, 0.36276 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.06751, 0.35807 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.92808, 0.35396 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.22893, 0.35046 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.10894, 0.34752 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.69093, 0.34506 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.06818, 0.34303 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.30534, 0.34139 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.45219, 0.34012 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.56157, 0.33922 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.7004, 0.33866 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.94585, 0.33843 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.36781, 0.33847 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.99277, 0.3387 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.13638, 0.33907 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.09901, 0.33952 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.9294, 0.34003 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.6616, 0.34059 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.2984, 0.34118 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.81473, 0.34174 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.1779, 0.34216 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.37143, 0.34232 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.4074, 0.3421 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.31928, 0.34145 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.14025, 0.34042 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.8818, 0.33913 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.52647, 0.33773 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.0374, 0.33632 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.3764, 0.33502 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51851, 0.33386 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.45584, 0.33287 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.19297, 0.33204 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.2575, 0.33136 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.87052, 0.33078 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.59474, 0.3302 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.33836, 0.32956 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.96845, 0.32883 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.33127, 0.32803 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.28725, 0.32729 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.74347, 0.32677 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.66932, 0.32659 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.09195, 0.32684 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.07851, 0.32756 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.7151, 0.32872 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.09013, 0.33028 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.2855, 0.33219 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.37489, 0.33438 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.57477, 0.33678 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.50298, 0.33927 + 1);
EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.35863, 0.34176 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.46672, 0.34826 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.44889, 0.3504 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.34158, 0.35248 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.11946, 0.35447 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.75751, 0.35639 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.22664, 0.35831 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.49097, 0.36036 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.50841, 0.36269 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.2339, 0.36545 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.6232, 0.36877 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.63441, 0.37274 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.22554, 0.37742 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.34953, 0.38279 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.95094, 0.38875 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.97114, 0.39506 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.36813, 0.40124 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.15207, 0.40654 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.42667, 0.41003 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.58748, 0.41089 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57428, 0.40876 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.1923, 0.40398 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.16015, 0.39745 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.31178, 0.39023 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.60377, 0.38319 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.08917, 0.37689 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.8807, 0.37155 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.11692, 0.36719 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.93562, 0.3637 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.45555, 0.36094 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.76816, 0.3588 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.94001, 0.35719 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.02379, 0.35605 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.07174, 0.35535 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.1439, 0.35508 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.30596, 0.35518 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.6175, 0.3556 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.88335, 0.35625 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.18976, 0.35705 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.32404, 0.35792 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.32321, 0.35881 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.21947, 0.35967 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.02569, 0.36047 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.733, 0.36115 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.32011, 0.36163 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.76697, 0.36182 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.06379, 0.36165 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.20985, 0.36109 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.2039, 0.36022 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.0337, 0.35915 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.67236, 0.35802 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.08403, 0.35694 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.23519, 0.35598 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10523, 0.35517 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.69191, 0.35446 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.0121, 0.35379 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.10232, 0.35306 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.97684, 0.35215 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.13313, 0.35094 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.23908, 0.34937 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.14153, 0.34746 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.68615, 0.34534 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.74833, 0.34324 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.25669, 0.34137 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.20011, 0.33993 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.61901, 0.33902 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.58761, 0.33868 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.195, 0.3389 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.53002, 0.33961 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.67256, 0.34077 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.69073, 0.3423 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.64199, 0.34411 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.42456, 0.34613 + 1);
EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.46672, 0.34826 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.73575, 0.35867 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.90955, 0.36066 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.02276, 0.36286 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.03983, 0.36526 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.92217, 0.36791 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.62737, 0.3709 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.10924, 0.37435 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.31897, 0.37842 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.20666, 0.38325 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.72226, 0.389 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.81471, 0.39577 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.42912, 0.40364 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.50341, 0.41258 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.96826, 0.42241 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.75637, 0.4327 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.82712, 0.44264 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.20793, 0.45098 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.0401, 0.45624 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40066, 0.45719 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.7412, 0.45347 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.60346, 0.44582 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.70252, 0.43578 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.89595, 0.42501 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.17413, 0.41475 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.61902, 0.40573 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.36006, 0.39821 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.54055, 0.39219 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.29574, 0.38748 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.74064, 0.3839 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.96611, 0.38125 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.04209, 0.37937 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.0257, 0.37817 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.97021, 0.37755 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.93048, 0.37747 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.96192, 0.37785 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.11336, 0.37862 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.58247, 0.37966 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.11545, 0.38087 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.49745, 0.38214 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.75364, 0.38338 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.90952, 0.38453 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.97939, 0.38554 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.96105, 0.38638 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.8378, 0.387 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.58454, 0.38738 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.17356, 0.38751 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.5765, 0.38743 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.76254, 0.38722 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.69583, 0.38699 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.33539, 0.38686 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.63953, 0.38689 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.57367, 0.38709 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.11938, 0.38738 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.28207, 0.3876 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.09702, 0.38752 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.63409, 0.38688 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.99896, 0.38545 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.65742, 0.38308 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.17002, 0.37978 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.36094, 0.37576 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.07861, 0.37136 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.22054, 0.36696 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.74502, 0.36294 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.66762, 0.35955 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.04704, 0.3569 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.96724, 0.35504 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.52069, 0.35393 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.7959, 0.3535 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.87013, 0.35366 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.80704, 0.35433 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.65787, 0.35544 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.53525, 0.35691 + 1);
EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.73575, 0.35867 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.15884, 0.37641 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.48878, 0.37843 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.77648, 0.38099 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.98354, 0.38414 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.06687, 0.38796 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.97868, 0.39255 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.66706, 0.39808 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.07681, 0.40473 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.1498, 0.4127 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.82434, 0.42219 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.03325, 0.43339 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.70096, 0.4464 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.74155, 0.46121 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.06177, 0.47753 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.5756, 0.49457 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.23733, 0.5109 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.09443, 0.52431 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.34251, 0.53226 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.66018, 0.53285 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.45843, 0.52581 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.62801, 0.5128 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.88703, 0.49653 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.12938, 0.47961 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.38916, 0.46385 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.78198, 0.45017 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.45569, 0.43885 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.55921, 0.4298 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.2264, 0.42276 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.56948, 0.41743 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.67874, 0.41351 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.62627, 0.41078 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.47181, 0.40903 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.26842, 0.40812 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.06591, 0.40793 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.91044, 0.40835 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.84099, 0.40924 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.11563, 0.41047 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.94814, 0.41192 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.66014, 0.41346 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.26496, 0.41497 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.77739, 0.4164 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.20536, 0.4177 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.54431, 0.41887 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.7756, 0.41994 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.86809, 0.42096 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.78108, 0.42201 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.46685, 0.42319 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.87213, 0.42463 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.93939, 0.42644 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.60905, 0.42871 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.82419, 0.43143 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53834, 0.43447 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.72637, 0.43752 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.39762, 0.44013 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.60945, 0.44168 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.47711, 0.44157 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.82604, 0.43932 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.0839, 0.43481 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.06882, 0.4283 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.57994, 0.42042 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.47449, 0.41198 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.6817, 0.4037 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.19839, 0.39616 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.07314, 0.38967 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.38679, 0.38437 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.23472, 0.38026 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.71317, 0.37725 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.91013, 0.37523 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.90048, 0.37409 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.74485, 0.37372 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.49131, 0.37402 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.17877, 0.37494 + 1);
EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.15884, 0.37641 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.67013, 0.40748 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.13436, 0.40981 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.56704, 0.41316 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.93089, 0.41762 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.18361, 0.4233 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.27735, 0.4304 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.15849, 0.43914 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.76727, 0.44979 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.03687, 0.46268 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.89135, 0.47816 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.24254, 0.49656 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.98666, 0.51816 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.0028, 0.54298 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.15866, 0.57057 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.33201, 0.59957 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.45881, 0.62723 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.60931, 0.64937 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.93749, 0.66126 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.69133, 0.65977 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.07226, 0.64528 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.59845, 0.62156 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.00789, 0.59368 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.25565, 0.56581 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.43834, 0.54049 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.71558, 0.51882 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.25863, 0.50097 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.22487, 0.48667 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.74853, 0.47545 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.93955, 0.46683 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.88636, 0.46037 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.66027, 0.45569 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.32005, 0.45249 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.91588, 0.45051 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.49163, 0.44956 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.08527, 0.44943 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.72771, 0.44995 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.44101, 0.45097 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.7625, 0.45233 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.8792, 0.4539 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.91092, 0.4556 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.85984, 0.45735 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.72314, 0.45918 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.48857, 0.46113 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.13196, 0.4633 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.61655, 0.46584 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.89381, 0.46893 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.90457, 0.47278 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.58036, 0.47759 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.84475, 0.48354 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.61576, 0.49074 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.81059, 0.4991 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35488, 0.50829 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.1987, 0.51761 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.34021, 0.52592 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.85366, 0.53174 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.91064, 0.53354 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.22342, 0.53031 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.22917, 0.52195 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.79995, 0.50945 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.70391, 0.49448 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.81406, 0.47877 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.10251, 0.4637 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.6141, 0.45015 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.43655, 0.43854 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.67622, 0.42896 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.44178, 0.42131 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.83428, 0.41543 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.94192, 0.4111 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.83813, 0.40814 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.58203, 0.4064 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.22062, 0.40576 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.79216, 0.40613 + 1);
EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.67013, 0.40748 + 1);
}
TEST(GeoLookupTest, inclination)
{
EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.60204, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.61752, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.64798, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.69421, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.75559, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.82983, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.91201, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.9933, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.06001, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.09384, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.07332, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.97659, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.78489, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.48672, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.08234, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.58823, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.04102, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.49976, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.0452, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.77473, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.79228, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.19337, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.04742, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.38176, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.17274, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.34787, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.79885, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.40094, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.03206, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.5865, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.98131, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.15629, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.07074, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.70041, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.0372, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.09221, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.90035, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.5236, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.04958, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.58377, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.23529, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.10004, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.24631, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.70742, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.48245, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54287, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.84177, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.32324, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.93023, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.61027, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.31861, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.01866, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.67996, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.27448, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.77248, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.13944, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.33546, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.31797, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.04826, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.5007, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.67083, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.57725, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.25534, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.74689, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.09168, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32351, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.46986, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55318, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59244, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60409, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.60234, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.5988, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.60204, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20203, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.22032, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.24635, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.28108, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.32486, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.37809, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.44049, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.50902, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.5758, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.62701, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.643, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.59988, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.47209, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.2365, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.87856, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.40031, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.82926, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22559, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68481, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.33294, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.31275, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.7608, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.7788, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.40687, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.60946, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.28125, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.27173, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.41794, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.57265, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.62021, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.47876, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.09248, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.41992, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.42528, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.07734, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.3571, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.27074, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.86198, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.2182, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.46628, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.75608, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.23432, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.01711, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.17182, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.71313, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61096, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.80444, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.21659, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.76713, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.38186, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.99803, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.56524, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.04252, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.3933, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.58136, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.57083, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.33152, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.84744, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12287, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18113, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05586, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78036, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.38061, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87401, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.27177, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.58226, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.81365, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.9755, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07955, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13973, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17113, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18807, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20203, 0.21 + 2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39957, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.40426, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.41142, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.42014, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.42917, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.43956, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.45466, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.47788, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.50952, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.54415, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.56907, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.56351, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.49878, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.34074, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.0568, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.62832, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06654, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42736, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.81915, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.39882, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.35318, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.86564, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.07299, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.025, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.66503, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.84383, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.36144, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.01684, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.64516, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.13324, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.41497, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.45307, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.21698, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.66624, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.74701, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.40344, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.59907, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.33934, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.68672, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.76424, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.74417, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.81982, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.16617, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.90469, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.08628, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69483, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.66382, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.89759, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.29139, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.7469, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.18163, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.53108, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.74517, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.78229, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.60646, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19138, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52951, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.6392, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56182, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34863, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04447, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67692, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25477, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77374, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.22455, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.59913, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.8937, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.10961, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.25359, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.3378, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37872, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39422, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39957, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05479, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02747, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.00179, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.97343, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.93684, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.8907, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.83967, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.79237, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.75754, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.74023, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.73834, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.73875, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.71348, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.61896, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.40317, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02308, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46976, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79286, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.11481, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.62724, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.56594, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.16457, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.59423, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.90798, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.01793, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.72157, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.76498, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.91008, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.9787, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.86568, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.52631, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.94807, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.11854, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.00139, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.52972, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.61889, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.19357, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.21779, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.71659, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.78511, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.58586, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.3305, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.2417, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.50429, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.22711, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.43052, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.05852, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.00541, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.14559, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.35857, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.5444, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.62749, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.55144, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.27147, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75273, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.97816, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.96026, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.74519, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.40172, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.99913, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.58577, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17872, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76723, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32539, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.82608, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.24948, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.58501, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.82973, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.98734, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.06881, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.09243, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.0808, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05479, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01169, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.93067, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.85743, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.78354, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.69681, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.59029, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.46664, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.33701, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.21689, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.12158, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.061, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.03225, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.01061, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.94449, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.76236, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39645, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81858, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07555, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.30918, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.75123, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.6896, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.40704, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.10305, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.82532, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.44715, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.70929, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.3042, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.95765, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.4766, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.75909, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.77552, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.53327, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.03775, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.26317, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.14303, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.58225, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.48559, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.79066, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.49228, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.65273, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.40327, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.93911, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.49746, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.31132, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.55348, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.29845, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51873, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.11152, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.93893, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.86515, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.77902, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.59852, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.26223, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71909, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.92867, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.87467, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.58139, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.11684, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.57447, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.0412, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.56878, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.16207, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78774, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.39602, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.94227, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.39826, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.75128, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.99795, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.14077, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.18982, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.16544, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.09638, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01169, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11434, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95299, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.81495, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.68803, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.55153, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.38973, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.19967, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.99148, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.78441, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.60194, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.46502, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.38093, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.32858, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.24873, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.05155, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.6478, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99652, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15032, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.27872, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.65799, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.62577, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.50465, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.5103, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.67657, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.83831, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.68701, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.86891, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.07437, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.08737, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.79437, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.16405, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.21019, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.95027, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.37341, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.42781, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.03007, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.09053, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.54352, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.37009, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.60822, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.35678, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.77932, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.09914, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.56747, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.40359, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.73444, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.56868, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81644, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.33751, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.99018, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.66032, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.26454, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73641, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.01352, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.0413, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.7949, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.30342, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.65414, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.96698, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.35031, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.86144, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.49163, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18093, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.8518, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.44116, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.91474, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.2619, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.48251, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.57958, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.56252, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.45413, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.29117, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11434, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.22786, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95449, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.73139, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.54376, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.36115, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.15611, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.91642, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.64759, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.36936, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.11038, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.89995, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.75296, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.64975, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.52285, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.26675, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.77808, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01436, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04595, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.07744, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.428, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.47253, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.55392, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.88703, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.48856, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.16828, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.58961, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.36758, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.15757, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.70718, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.8699, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.59041, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.8721, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.73764, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.19571, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.22452, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.77518, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.78896, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.21824, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04299, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.28223, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.00561, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.34696, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.50989, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.74634, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.29895, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.32892, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.87248, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.85247, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.1314, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56952, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05772, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.51673, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.87644, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.06012, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.99302, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.63491, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.01466, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.23766, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.45321, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.79575, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.33084, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.03481, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81666, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.56664, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.2013, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.68173, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.00261, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.17003, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.18908, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.06893, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.83558, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.53633, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.22786, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.27469, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.85661, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.52795, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.27326, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.05152, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.82084, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.55628, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.25547, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.93596, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.62904, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.36898, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.17406, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.02218, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.83675, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.50146, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.90975, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03147, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.9653, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.95184, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.34059, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.51958, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.8251, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.45531, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.41538, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.51577, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.42337, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.74252, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.09513, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.17805, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.79036, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.8324, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.28313, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.16571, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.51394, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.35059, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.68075, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.49509, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.77636, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50761, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.68705, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.35269, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.61083, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.65097, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.727, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.09629, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.93856, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.30239, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.1138, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.2355, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.53264, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.90672, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.28809, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.60621, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.77019, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.68255, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.28358, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.598, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.74765, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.91276, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.25713, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.85683, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.67238, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57833, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.42898, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.11847, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.60334, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.88523, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.97829, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.89085, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.6325, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.23372, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.7553, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.27469, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.2868, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.70059, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.25333, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.93148, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.68347, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.4507, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.19227, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.89523, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.57319, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.25852, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.98779, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.77841, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.60227, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.37434, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.97493, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.30693, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36442, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.27804, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.68561, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.17026, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.80517, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.28609, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.44045, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.73788, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.08851, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.31384, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.03028, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.83302, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.36132, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.34713, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.63472, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.1711, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.97752, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.11598, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.66135, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.6816, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.22344, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.30258, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90432, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.00302, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.60166, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.77796, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.71095, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.66241, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.90666, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.6369, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.904, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.62727, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.66338, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.88089, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.19424, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.54759, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.87424, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.07205, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.02166, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.64253, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.95221, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.08568, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.25213, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.64454, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.35021, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.31425, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37641, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.35408, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.11768, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.6181, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.86331, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.87564, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.6672, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.24886, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.65712, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.96899, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.2868, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.46085, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.70725, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.1466, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.77025, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.51743, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.31197, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.09468, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.83977, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.55576, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.27544, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.03611, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.85196, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.31195, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.54515, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.96141, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.63767, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55056, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.54423, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.3457, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.61945, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.03807, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.34481, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.39368, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.16658, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.77703, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.53347, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.41381, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.4491, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.23123, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.42965, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.83371, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.3572, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.01581, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.89465, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.11548, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.80479, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.0621, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.93421, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.4082, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.43474, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.98159, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.0973, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.9503, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.81119, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.97184, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.63764, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.85854, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.54308, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.53821, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.71334, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.99543, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.34468, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.70278, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.96195, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.98585, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.67533, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.039, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.21933, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.44699, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.93812, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.78929, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.93288, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17894, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.31204, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.17979, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.72515, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.95918, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.91023, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.59391, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.02333, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.24223, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.34511, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.46085, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.18052, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.29667, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.65359, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.25054, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.97888, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.12654, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.27012, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.44947, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.66222, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.87593, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.05311, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.18237, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.3022, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.4994, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.87279, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.47359, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.25275, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.04373, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.58893, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.59508, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.79206, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.97449, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.02045, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.89773, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.67352, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.53119, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.22328, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.18975, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.94302, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.11617, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.45954, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.85725, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.31198, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.91691, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.82334, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.20168, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.1955, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.88033, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.24729, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.22793, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.75908, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.86169, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.69114, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.52057, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.65186, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.29751, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.50609, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.17814, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.1529, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.29993, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.55653, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.8987, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.28074, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.5978, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.70652, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.49614, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.96645, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.25919, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.6125, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.25249, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.27987, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.61983, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06477, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.37734, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.38655, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.02479, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.30043, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.24326, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.87095, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.19946, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.27999, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.22283, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.18052, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.03891, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.98039, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.65245, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.04505, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.22442, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.29251, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.34226, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.42698, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.55155, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.6853, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.79082, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.85694, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.91948, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.05413, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.33819, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.79743, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.36618, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.88266, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.12049, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.83867, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.82609, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.92541, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.03771, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.12436, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.22197, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.46942, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.12564, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.55162, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.85099, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.72052, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.79683, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.94402, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.14394, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.47835, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.10427, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.21506, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.98534, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51578, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.80611, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.77803, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.34663, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.50948, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.40438, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.29406, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.47464, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.15535, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.38332, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.05847, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.02, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.1396, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.36165, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.67469, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.04819, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.39051, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.5657, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.46318, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.07641, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.53672, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.0711, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.89735, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.11284, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.64319, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28062, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.78275, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.96815, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.75683, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.14735, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.16456, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.8255, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.1486, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.80933, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.9278, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.03891, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.68687, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.59447, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.23277, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.57901, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.6921, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.67544, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.63054, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.62117, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.66006, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.72042, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.76558, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.78168, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.79548, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.8647, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.04224, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33213, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.6615, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.88391, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.8107, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.2527, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.05196, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.09353, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.30342, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.64979, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.1599, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.94755, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.23007, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.31331, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.54085, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.22851, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.61435, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.16186, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.06004, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.13586, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.52955, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.43392, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.03675, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45665, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.70633, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.71017, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.37507, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.31819, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.25497, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.19932, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.88012, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.10359, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.82417, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.13336, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.18182, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.09162, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.91473, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.6558, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.33088, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.01011, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.80733, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.81935, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.05439, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.39952, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.65628, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.63266, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.24212, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.55151, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75127, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.07038, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.68988, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.70143, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.12213, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.93859, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.13794, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.70114, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.56974, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.62198, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.68687, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.40216, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.18706, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.73317, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.00507, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.04813, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.95768, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.8349, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.74888, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.71955, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.72601, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.73374, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.7246, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.71227, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.73306, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.81564, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94689, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.05312, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.00733, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.65723, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.85859, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.49767, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.49663, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.80966, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.42437, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.37635, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.76984, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.78721, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.67328, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.69588, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.10064, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.07981, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.75951, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.19397, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.35716, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.13977, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.37039, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.86807, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50775, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.26236, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.19301, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.38629, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.87019, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.55694, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.25093, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.72174, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.80081, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.44446, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.72842, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.78419, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.72288, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.59486, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.40395, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.15557, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.89561, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.70673, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.66165, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.76502, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.92536, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.98226, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.77989, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.24746, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.44062, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52116, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.69088, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.1199, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.90779, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.08925, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.66635, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.63357, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.9739, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.63236, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.49548, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.40216, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.03896, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.6297, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.03627, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.2137, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.19058, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.04626, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.87244, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.73684, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.66414, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.64027, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.63448, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.62481, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.61132, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.60908, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.62504, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.63287, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.56105, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.30106, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.73112, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.74259, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.25683, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.22839, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.6416, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.51088, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.88941, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.87956, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.63341, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.33664, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.18082, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.33762, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.94538, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.10516, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.87381, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.24859, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.15425, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.45318, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98774, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.63875, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.36747, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.21355, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.24608, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.49376, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.89504, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.30034, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.52759, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.43894, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.99383, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.24927, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.31244, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.27948, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.19888, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.07726, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.9143, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.73447, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.5884, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.52119, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.52998, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.54247, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.43612, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.0925, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.45809, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.57759, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58171, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.63946, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.90314, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.47446, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.40297, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.70603, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.38671, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.43219, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.79508, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.37758, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.03896, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.63982, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98832, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.22103, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.28925, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.20544, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.0283, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.83247, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.67715, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.58753, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.55531, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.5546, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.56145, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.56468, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.56145, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54098, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.46719, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.27134, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.86003, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.13474, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.01342, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.44453, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.41037, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.92402, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.02714, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.79106, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.31711, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.7303, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.16481, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.74724, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.58614, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.77127, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.37567, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.44958, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.00327, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.99014, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.30878, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83303, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.45874, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.14071, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.89657, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.77311, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.79374, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.91844, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.04127, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.02828, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.77389, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.24282, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.47453, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.55086, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.55033, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.51733, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.46161, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.38068, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.28315, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.19283, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.12965, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.0818, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.9912, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.76673, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.32233, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.62069, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.69836, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65904, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.64066, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.77519, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.16093, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.85638, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.89037, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.27334, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.99737, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.02465, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.27684, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.63982, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.3666, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45055, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.49007, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.43956, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.29908, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.10589, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.913, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.765, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.6824, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.65976, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.67566, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.70615, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.73269, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73961, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70348, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.58162, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.30808, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.8009, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.97846, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.77808, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.16896, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.15594, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.77608, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.09284, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.19019, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.16561, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.12037, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.14831, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.32782, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.7215, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.38224, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.35817, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.68806, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.38593, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.42483, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.73442, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22018, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.79705, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.41887, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.08539, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.82202, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.64399, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.52671, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.40069, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.17473, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.77404, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.17087, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.39064, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.49183, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.53419, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.55497, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.56482, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.56037, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.5397, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.50701, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.4626, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.38655, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.23033, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.9263, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.41396, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.6701, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.72671, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66713, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.60355, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.64828, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.89194, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.39546, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.19369, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.3017, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.71592, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.40829, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.32039, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.3666, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.4384, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26253, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.10746, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.93603, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.74092, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.54057, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.36564, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.24289, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.18375, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.18189, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.2186, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.2709, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.3165, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.33217, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.28686, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.13456, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.81234, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.24707, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.36971, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.13202, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.51902, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.55258, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.2867, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.79807, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.17546, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.50898, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.8801, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.35416, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.97829, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.78614, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.80615, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.06718, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.59534, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.4022, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.47174, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.75652, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18871, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.70232, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.25445, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.83312, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.44688, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.10287, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.78665, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.45663, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.05649, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.5385, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.88373, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.10773, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.24909, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.34923, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.4355, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.51616, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.58622, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.63669, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.65858, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.63858, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.55083, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.35348, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.99622, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.43826, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.66869, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.71815, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.65598, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57439, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.56789, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.71671, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.07879, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.68986, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.56687, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.7096, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.09897, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.69482, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.4384, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08746, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68191, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34943, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06344, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81375, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.6047, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.4478, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.35255, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.31957, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33873, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39173, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45633, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.50869, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.52187, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.46135, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.28045, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.91994, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.31433, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.40484, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.1549, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.56176, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.65902, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.51004, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.19607, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.8034, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.41221, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.08818, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.87836, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.8122, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.90767, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.179, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.64153, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.30995, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.19042, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.27151, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.52071, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89031, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.33093, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.80558, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.29663, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.80176, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.32202, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.84953, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.36258, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.83115, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.22925, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.54655, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.79231, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.98941, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.16266, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.32801, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.48818, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.63474, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.75315, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.82566, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.83031, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.73804, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.51268, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.11758, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.52803, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.74418, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.79782, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.74905, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67464, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65333, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.7535, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.02651, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50546, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.20712, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13392, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27461, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60449, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08746, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52135, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93433, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45545, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.0678, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76116, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.5312, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37606, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.292, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27026, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.29615, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.35026, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.41024, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.45143, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.44527, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.35607, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.13817, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.73649, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.09275, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.15757, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.9047, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.34115, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.50779, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.47097, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.30953, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.10227, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.91819, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.81068, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.81565, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.95385, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.23613, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.66951, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.26076, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.01572, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.9348, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.00765, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21078, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.5106, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.87109, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.26244, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.66628, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.07514, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.48681, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.89774, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.2994, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.67971, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.02823, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.34159, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.62525, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.89056, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.14849, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.40366, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.65125, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.8776, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.06275, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.18275, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.21045, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.11606, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.86943, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.44598, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.83504, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.04721, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.11681, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.09775, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.0546, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05205, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14643, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38079, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78381, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37105, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14705, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.107, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23813, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52135, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88681, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17206, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.5824, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10778, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.7393, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46868, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.28693, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.18284, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.14193, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.14636, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.17553, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.20663, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.21432, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.16911, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.03498, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.76768, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.31608, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.62858, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.66461, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.40761, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.87271, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.1049, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.16909, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.13739, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.07833, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.04971, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.09507, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.24339, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.51133, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.90716, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.43475, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.09604, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.89111, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.81609, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.86062, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.0068, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.23076, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.50689, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.81272, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.13253, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.45801, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.78631, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.1168, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.44867, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.78045, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.11116, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.44177, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.77535, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.1153, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.46225, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.811, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.1489, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.45605, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.70693, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.87256, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.92275, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.82878, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.56722, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.12496, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.5042, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.72518, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.82516, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.85349, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86463, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91101, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03765, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.2792, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.6594, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.1922, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.8836, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73353, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73728, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88681, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24634, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45032, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78039, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23053, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79341, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.46005, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.21937, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.05786, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.95945, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.90574, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.87619, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.84815, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.79605, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.68993, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.49361, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.16388, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.65262, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.91376, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.91474, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.64798, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.13572, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.42518, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.5773, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.65535, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.71671, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.80843, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.9657, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.21235, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.56269, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.02403, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.5991, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.28768, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.08701, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.99122, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99053, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07116, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21633, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.40851, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.63213, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.87566, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.13261, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.40101, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.68207, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.9786, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.29398, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.63145, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.99365, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.38178, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.7942, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.2247, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.661, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.08395, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.46784, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.78188, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.99276, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.06824, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.98158, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.71631, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.27014, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.65678, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.90476, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.05365, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.14883, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23615, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.3576, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.54835, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.83554, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.23825, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.76862, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.4333, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23492, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17332, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24634, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57957, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73341, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00284, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.38378, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.87029, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.45443, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.12598, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.87253, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.67948, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.53023, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.40604, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.28572, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.14461, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.95319, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.67554, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.26913, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.6877, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.88929, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.84823, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.56543, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.06966, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.40913, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.63949, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.81429, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.97971, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.17266, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.42069, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.74292, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.1514, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.65269, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.24922, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.9403, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.7227, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.59074, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53645, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54988, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.61986, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.73528, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.88642, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.06617, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.27064, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.4992, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.75384, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.03824, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.35672, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.71312, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.10968, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.54594, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.01738, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.51427, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.02057, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.5134, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.96323, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.33531, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.59273, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.70142, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.63627, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.38685, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.96016, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.3793, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.67895, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.89964, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.08268, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26652, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48449, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.76377, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.12523, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.58392, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.15004, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.82998, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.62736, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54384, 0.21 + 1.2);
EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57957, 0.21 + 1.2);
}
TEST(GeoLookupTest, strength)
{
EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58471.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57332.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56180.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55023.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53867.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52716.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51567.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50415.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49248.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48050.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46804, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45491.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44101.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42626.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41070.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39448.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37783.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36108.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34462.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32891.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31437.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30140.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29028.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28117.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27405.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26872.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26488, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26211, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26002.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25827.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25662.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25496.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25332.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25182.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25072.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25038.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25121.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25371.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25834.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26551, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27550.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28844.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30429.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32282.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34369.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36647.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39067.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41578, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44131, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46681.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49190.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51622.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53945.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56126.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58137.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59948.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61533.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62873.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63956, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64778.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65344.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65667, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65761.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65645.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65341.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64868.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64246.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63495.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62635.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61684.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60662.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59585.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58471.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56306.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55111.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53908.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52706.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51510.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50325.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49151.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47984.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46813.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45622.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44392.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43103.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41739.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40289.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38753.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37140.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35474.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33785.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32119.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30525.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29059.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27772.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26703, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25873.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25280.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24900.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24686.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24586.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24546.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24522.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24484.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24417.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24319, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24200.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24084, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24004.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24008.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24154.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24506.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25123.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26054.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27323.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28932.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30856.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33053, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35465.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38028.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40677.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43350.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45994.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48564.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51025.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53347.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55501.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57460.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59198.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60692.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61927.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62897.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63605, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64060.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64278.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64278.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64079, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63698.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62467.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61651, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60725.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59708.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58620.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57480.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56306.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53955.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52732.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51504.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50279.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49062.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47859.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46672.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45499.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44334.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43162.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41966.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40725.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39423.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38045.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36585.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35047.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33446.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31810.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30184.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28623.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27192.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25952.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24956.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24230, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23772.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23550.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23507.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23578.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23700.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23825.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23921.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23973.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23978.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23938.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23867.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23790.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23748, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23801.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24027.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24504.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25304.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26472.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28023.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29938, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32168.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34645.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37289.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40017.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42752.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45430.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48000.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50426.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52680.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54737.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56573.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58167.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59503.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60574.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61384.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61944.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62273.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62388.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62308.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62047, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61619.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61037.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60316.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59469, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58510.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57460, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56336.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55161.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53955.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51447.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50221.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48994.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47771.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46556.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45354.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44169, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43002.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41852.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40709.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39560.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38388.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37176.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35908.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34572.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33162.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31685, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30160.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28631.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27154.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25802.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24646, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23745.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23132.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22806.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22726.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22828.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23039.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23295.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23550.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23779.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23970.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24117.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24215.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24262, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24263, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24244.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24259.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24384.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24715.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25342.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26338.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27740.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29545.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31710.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34160.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36803.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39537.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42269.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44922.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47438.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49779.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51915.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53825.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55486.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56881.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58005.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58863.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59474.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59864.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60059.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60077.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59931.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59629, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59176.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58581.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56998.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56034.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54976, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53843.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52660.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51447.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48798, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47596.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46397.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45203.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44016.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42840, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41678.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40537.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39419.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38320.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37234.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36147.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35047.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33917.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32737.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31494.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30183.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28816.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27430.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26083.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24849.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23805.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23014.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22513.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22298.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22328.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22536.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22848.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23204.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23568.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23923.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24264.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24585.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24871.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25099.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25252.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25334.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25380.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25460.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25669.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26113.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26887.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28059.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29651.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31639.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33953.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36494, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39146.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41801.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44369.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46783, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48998.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50985.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52716.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54170.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55333.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56209.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56823, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57212.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57421.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57481.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57412.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57215.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56887.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56424.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55829.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55107.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54266.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53317.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52274.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51157.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49991, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48798, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46034.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44886.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43744.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42610.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41482.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40362.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39255.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38169.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37109.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36078.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35074.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34092.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33121.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32145.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31141.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30087.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28968.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27790.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26583.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25401.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24317.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23405.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22728.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22323.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22189.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22288.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22559.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22934.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23363.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23818.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24291.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24783.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25287.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25777.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26214.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26559, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26790.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26923.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27012, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27141.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27420.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27958.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28849, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30148.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31861.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33934.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36271.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38749.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41248.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43666.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45930, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47988.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49804.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51344, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52580, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53500, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54118.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54478.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54642.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54671.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54608, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54463.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54228.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53884.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53419.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52830.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52122.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51305.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49380.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48303.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47180.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46034.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43218.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42153.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41100, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40057.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39022.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37995.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36980.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35986.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35020.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34089.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33196.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32339.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31513.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30701.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29880.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29024, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28111, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27140.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26135, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25142.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24225.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23451.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22878.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22541.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22447.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22570.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22862.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23269.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23749.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24279.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24856.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25481.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26812.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27434.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27957.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28342.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28584.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28716.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28809.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28960.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29282.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29888, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30862.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32242.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34000.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36051.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38273, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40540.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42747.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44814.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46686.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48317.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49663.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50689.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51379.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51755.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51880.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51838.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51707.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51535.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51329.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51064.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50709.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50242.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49659.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48969.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48182.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47307.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46355.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45341.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44287.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43218.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40456.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39504.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38571, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37652.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36744.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35845.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34961.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34099.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33267.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32474.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31722.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31015.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30347.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29707.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29071.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28413.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27709.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26952.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26158.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25362, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24612.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23964.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23469.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23162.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23061.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23159, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23428, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23832, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24336.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24920.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25574.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26293, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27060.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27842.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28586.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29231.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29733.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30071.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30260.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30349.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30419.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30575.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30937.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31609.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32655.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34072.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35791.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37701.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39681.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41625.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43456.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45115.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46551, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47709.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48544, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49035.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49211.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49144.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48935.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48676.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48417.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48159.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47866.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47496.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47022.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46442.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45768.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45014.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44191.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43308.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42378, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41419.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40456.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37904.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37093.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36306.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35538.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34784.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34044.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33324.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32630.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31970, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31348.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30769.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30234.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29740, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29277, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28826.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28362.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27862.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27315.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26724.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26110.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25507.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24958.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24505.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24186.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24030.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24051.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24248, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24603.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25093.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25692, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26377.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27133.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27936.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28752.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29534.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30228.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30789.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31191.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31433.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31543.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31581.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31640.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31833.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32272.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33034.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34135.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35524.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37104.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38768, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40419.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41986.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43414.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44646.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45624.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46294.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46632.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46663.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46466, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46145.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45796.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45468.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45159.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44829, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44431.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43940.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43355.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42692.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41972.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41206, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40402.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39573.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38734.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37904.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35739.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35092.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34471.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33872, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33289.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32727, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32191.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31689.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31226.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30804.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30422.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30077.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29769.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29488.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29221.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28946.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28639.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28282.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27868.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27404.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26911.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26422.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25974, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25605, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25353.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25253.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25327.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25581.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26000.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26555.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27213.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27942, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28711.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29489.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30236.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30912.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31480.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31912.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32197.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32347.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32402.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32438.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32555.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32857.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33422.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34272.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35370.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36638.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37989.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39344.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40643, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41833.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42863.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43671.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44203.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44432, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44379.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44115.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43738.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43334, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42948.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42579.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42190.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41743.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41215.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40612.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39953.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39261.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38551.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37833.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37117.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36416.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35739.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34122.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33647.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33200.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32774.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32367.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31987, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31642.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31343.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31091.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30883.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30712.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30572.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30458.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30364.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30279.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30182.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30048.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29851.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29575.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29217.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28790.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28320.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27841.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27393.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27021.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26771.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26685.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26788.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27078.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27527.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28093.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28736.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29418, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30108.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30777.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31398.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31940.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32380.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32702.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32907.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33022.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33103.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33234.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33500.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33963.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34644.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35514.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36518.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37590.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38674.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39721.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40688.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41526.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42180.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42600.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42759.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42673, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42395.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42004.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41568.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41124.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40675.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40198.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39669.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39078.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38435.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37764.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37089.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36427.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35792, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35192.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34635.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34122.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33145.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32836, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32556.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32296.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32057.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31851.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31693.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31593.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31552.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31561.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31607.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31677.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31763.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31858.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31951, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32019.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32034.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31964.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31784.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31487.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31082.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30594.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30057.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29513.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29010.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28603.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28345.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28274.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28396.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28691.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29117.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29631, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30193.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30776.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31357.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31914.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32426.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32870.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33229.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33500.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33702.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33879.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34092, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34400.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34845.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35434.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36146.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36946.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37793.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38653, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39489.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40267.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40942.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41467.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41801.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41920.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41833.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41573.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41189.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40727.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40214.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39660.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39061.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38414.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37726.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37015.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36307.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35626.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34994.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34425.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33927.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33504.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33145.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32828.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32657.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32523.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32412.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32326.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32280.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32295.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32383.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32543.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32762.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33021.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33299.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33585.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33867.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34131.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34351.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34493.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34520.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34403, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34131.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33715.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33182.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32569.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31921.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31291.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30739.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30322.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30083.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30034.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30161.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30428.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30795.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31230.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31709.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32213.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32724.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33218.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33673.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34073, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34413.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34713.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35005.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35331.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35725.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36201.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36756.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37371.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38030.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38714.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39408.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40090.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40729.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41285.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41719.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41998.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42102.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42030.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41796.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41421.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40926.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40330.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39649.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38900.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38103.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37284.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36471.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35693.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34976.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34342.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33808.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33382.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33061.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32828.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33131.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33059.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33039.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33051.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33098.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33198.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33371.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33631.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33977, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34390.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34847.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35323.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35799.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36259.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36683.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37040.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37291.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37395.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37320.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37056.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36613.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36022.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35325, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34574.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33830.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33156, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32609.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32232.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32039.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32016.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32135.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32366.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32684.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33074.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33521.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34003.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34496.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34971.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35412.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35817.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36204, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36600.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37033.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37515, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38039.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38590.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39155.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39729.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40313, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40905.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41494.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42052.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42543.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42933.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43191.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43301.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43253.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43042.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42667.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42130.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41441.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40623.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39711.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38745.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37770.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36826.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35946.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35159.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34487.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33947.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33548.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33131.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33996.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33978.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34033.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34142.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34304.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34534.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34851.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35267.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35777.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36362.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36995.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37645.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38291.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38909.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39474.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39950.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40294.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40462.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40422.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40161.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39691.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39044.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38270.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37429.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36590.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35819, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35175.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34696.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34392.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34252.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34252.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34370.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34592.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34909.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35311, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35774.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36270, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36765.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37240.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37694.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38144.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38614.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39121.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39664.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40227, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40788.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41336.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41875.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42416.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42967.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43522.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44057.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44537.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44928.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45202.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45338.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45319, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45126.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44742.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44159.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43380.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42434.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41366.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40235.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39099.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38010.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37007.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36123.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35381.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34796.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34378.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34119.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33996.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35374.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35367.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35462.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35640.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35898.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36244.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36692, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37246, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37898.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38627.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39403, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40195.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40976.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41719.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42395.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42964.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43381.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43602.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43592.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43339.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42853.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42168.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41338, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40429.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39517.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38674.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37957.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37402.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37016.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36787.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36694.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36722.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36864.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37118.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37475.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37915.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38403.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38905.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39398.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39879.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40362.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40868.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41409.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41979.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42562.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43136.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43693.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44239.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44790.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45355.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45929.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46490.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47003.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47433.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47750.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47927.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47940.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47763.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47370, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46745.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45893.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44843.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43649.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42379.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41102.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39878.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38755.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37766.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36936.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36281.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35808.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35512.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35374.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37229.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37202.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37308.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37532.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37866, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38311.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38871.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39542.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40310.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41149.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42030.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42921.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43793.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44618.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45363.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45989.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46451.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46707.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46721.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46481.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45993.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45293.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44434.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43488.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42532.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41639.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40867.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40250.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39794.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39489.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39317.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39268.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39339.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39530.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39835.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40234.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40695.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41181.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41669.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42151.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42639.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43147.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43689.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44260.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44848.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45439.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46026, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46615.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47218, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47840.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48475, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49097.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49673.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50165.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50540.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50765.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50812, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50648.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50249, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49596.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48697.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47582, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46307.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44946.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43572, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42250.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41032.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39954.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39041.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38310.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37767.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37411, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37229.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39529.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39470.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39570, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39817.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40204.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40724.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41370.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42127.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42975.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43885.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44826.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45767.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46680.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47535.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48300.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48940, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49411.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49675.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49699.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49470.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48993.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48301.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47444.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46493.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45522.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44602.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43790, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43118, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42596, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42217.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41971.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41848.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41848.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41971, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42210.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42549.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42957.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43402.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43859.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44319.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44787.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45278.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45802, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46361.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46951.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47564.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48197.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48854, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49537.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50246, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50965.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51669.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52321.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52882.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53315.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53586.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53662.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53512.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53112.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52450.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51535.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50400.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49101.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47709.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46298.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44934, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43668.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42540, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41572.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40782.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40178.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39762.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39529.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42224.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42134.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42221.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42475.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42887.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43447, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44136.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44935.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45816.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46747.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47698.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48637.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49537.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50369.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51106.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51713.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52155.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52397.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52413.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52188.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51729.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51063.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50236.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49310.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48353.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47431.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46595.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45879.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45297, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44848.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44527.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44254.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44301.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44462.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44722.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45056.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45436.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45841.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46260.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46697, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47160.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47663.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48212.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48809.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49453.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50142.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50876.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51650, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52452.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53261.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54047.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54771, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55392.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55874.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56179.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56277.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56140.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55749.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55099.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54203.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53095.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51830.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50472.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49092.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47750.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46497.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45370.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44393.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43582.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42947.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42494.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42224.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45105, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45176, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45418.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45824.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46377.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47059.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47842.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48697.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49592.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50495.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51378.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52214.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52976.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53639.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54175.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54555.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54750.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54740.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54514, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54076.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53450.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52675.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51802.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50889.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49991.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49155.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48414.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47785.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47276.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46887.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46616.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46464.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46429.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46503.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46672.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46919.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47220.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47560.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47930.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48330.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48769.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49257.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49804.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50417.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51097.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51842.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52647.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53499.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54380.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55262.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56110.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56884.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57546.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58057.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58383, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58495.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58373.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58004.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57391, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56549.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55515.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54338.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53076.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51791, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50536.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49358.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48291.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47357.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46572.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45948.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45492.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48315.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48207.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48261.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48475, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48838.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49339, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49954.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50660.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51427.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52226.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53026.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53801.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54527.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55179.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55735.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56173.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56469.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56602.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56557.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56327.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55916.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55344.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54639.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53843.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53001.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52157.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51352, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50614.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49966.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49418.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48643.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48420.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48305.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48292.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48371.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48528.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48749.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49023.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49342.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49709.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50129.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50612.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51166.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51798.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52509.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53295.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54147.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55047.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55971.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56888.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57762.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58553.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59225.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59741.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60073.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60196.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60096.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59767.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59217.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58467.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57549.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56508.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55393.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54256.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53143.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52094.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51137.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50295.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49581.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49008.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48584.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48315.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51304.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51199.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51231.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51396.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51687.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52092.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52594.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53170.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53796.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54447.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55097.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55723.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56303.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56817.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57246.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57571, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57774.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57842.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57764.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57535.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57160.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56653, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56035.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55336.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54590.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53831.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53090.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52393.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51760.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51206.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50740.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50368.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50093.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49913.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49827.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49828.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49907.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50058.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50273.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50550.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50889.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51296, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51775.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52334.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52976.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53699.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54497.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55357.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56258.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57175.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58076.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58928.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59695.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60342.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60841.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61165.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61298.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61231, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60962.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60504.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59877.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59111.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58242.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57313.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56363.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55430.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54546.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53737, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53019.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52408.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51914.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51544.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51304.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53919.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53814.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53815, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53917.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54115.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54400.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54757.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55172.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55625.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56097.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56569.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57022.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57438.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57800.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58093.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58304.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58418.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58427.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58323.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58104.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57774.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57342.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56824.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56238.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55610.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54961.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54317.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53698.7, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52602.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52151.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51774.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51477.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51263.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51131.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51079.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51105, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51204.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51376.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51620, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51935.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52326, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52794.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53342.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53968.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54670.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55436.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56253.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57100.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57954.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58786, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59566.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60266.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60857, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61315.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61622.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61766.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61741.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61551.4, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61207.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60727.1, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60136, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59462.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58739.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57995.9, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57261.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56561.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55915.2, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55338.3, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54842.6, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54436.8, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54127.5, 145 + 500);
EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53919.2, 145 + 500);
}