public void Lunar_Coordinate_Accuracy_Local_Time_Check()
        {
            var lcZ = Celestial.Get_Lunar_Coordinate(new DateTime(2020, 11, 19, 0, 0, 0));
            var lcL = Celestial.Get_Lunar_Coordinate(new DateTime(2020, 11, 18, 13, 0, 0), -11);

            //Local float precision loss will occur
            Assert.AreEqual(lcZ.SublunarLatitude, lcL.SublunarLatitude, .0001, "Sublunar Latitude");
            Assert.AreEqual(lcZ.SublunarLongitude, lcL.SublunarLongitude, .0001, "Sublunar Longitude");
            Assert.AreEqual(lcZ.RightAscension, lcL.RightAscension, .00001, "Right Ascension");
        }
        public void Lunar_Coordinate_Accuracy_Check()
        {
            //https://www.timeanddate.com/worldclock/sunearth.html
            var lc1 = Celestial.Get_Lunar_Coordinate(new DateTime(2020, 11, 19, 0, 0, 0));
            var lc2 = Celestial.Get_Lunar_Coordinate(new DateTime(2020, 11, 19, 0, 26, 0));
            var lc3 = Celestial.Get_Lunar_Coordinate(new DateTime(2020, 11, 19, 12, 26, 0));
            var lc4 = Celestial.Get_Lunar_Coordinate(new DateTime(1992, 10, 13, 1, 0, 0));



            Assert.AreEqual(288.404, lc1.Longitude, .8, "Longitude for lc1 exceeds delta.");
            Assert.AreEqual(-2.490, lc1.Latitude, .1, "Latitude for lc1 exceeds delta.");
            Assert.AreEqual(290.305, lc1.RightAscension, .1, "Right Ascension for lc1 exceeds delta.");
            Assert.AreEqual(-24.639, lc1.Declination, .1, "Declination for lc1 exceeds delta.");
            Assert.AreEqual(281.280, lc1.GeometricMeanLongitude, .001, "Geometric Mean Longitude for lc1 exceeds delta.");
            Assert.AreEqual(-24.39, lc1.SublunarLatitude, .4, "Sublunar Latitude for lc1 exceeds delta.");
            Assert.AreEqual(-128.09, lc1.SublunarLongitude, .4, "Sublunar Longitude for lc1 exceeds delta.");


            Assert.AreEqual(288.653, lc2.Longitude, .8, "Longitude for lc2 exceeds delta.");
            Assert.AreEqual(-2.511, lc2.Latitude, .1, "Latitude for lc2 exceeds delta.");
            Assert.AreEqual(290.579, lc2.RightAscension, .1, "Right Ascension for lc2 exceeds delta.");
            Assert.AreEqual(-24.624, lc2.Declination, .1, "Declination for lc2 exceeds delta.");
            Assert.AreEqual(281.518, lc2.GeometricMeanLongitude, .001, "Geometric Mean Longitude for lc2 exceeds delta.");
            Assert.AreEqual(-24.38, lc2.SublunarLatitude, .4, "Sublunar Latitude for lc2 exceeds delta.");
            Assert.AreEqual(-134.24, lc2.SublunarLongitude, .4, "Sublunar Longitude for lc2 exceeds delta.");


            Assert.AreEqual(295.493, lc3.Longitude, .8, "Longitude for lc3 exceeds delta.");
            Assert.AreEqual(-3.043, lc3.Latitude, .1, "Latitude for lc3 exceeds delta.");
            Assert.AreEqual(298.072, lc3.RightAscension, .1, "Right Ascension for lc3 exceeds delta.");
            Assert.AreEqual(-24.030, lc3.Declination, .1, "Declination for lc3 exceeds delta.");
            Assert.AreEqual(288.106, lc3.GeometricMeanLongitude, .001, "Geometric Mean Longitude for lc3 exceeds delta.");
            Assert.AreEqual(-24.02, lc3.SublunarLatitude, .4, "Sublunar Latitude for lc3 exceeds delta.");
            Assert.AreEqual(52.36, lc3.SublunarLongitude, .4, "Sublunar Longitude for lc3 exceeds delta.");


            Assert.AreEqual(34.832, lc4.Longitude, .8, "Longitude for lc4 exceeds delta.");
            Assert.AreEqual(3.776, lc4.Latitude, .1, "Latitude for lc4 exceeds delta.");
            Assert.AreEqual(31.235, lc4.RightAscension, .1, "Right Ascension for lc4 exceeds delta.");
            Assert.AreEqual(16.686, lc4.Declination, .1, "Declination for lc4 exceeds delta.");
            Assert.AreEqual(39.296, lc4.GeometricMeanLongitude, .001, "Geometric Mean Longitude for lc4 exceeds delta.");
            Assert.AreEqual(16.420, lc4.SublunarLatitude, .4, "Sublunar Latitude for lc4 exceeds delta.");
            Assert.AreEqual(-5.37, lc4.SublunarLongitude, .4, "Sublunar Longitude for lc4 exceeds delta.");
        }