public void CalculateTest(double JD, AASEllipticalObject ellipticalObject, bool bHighPrecision, AASEllipticalPlanetaryDetails expectedEllipticalPlanetaryDetails) { AASEllipticalPlanetaryDetails details = AASElliptical.Calculate(JD, ellipticalObject, bHighPrecision); Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricLongitude, details.ApparentGeocentricLongitude); Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricLatitude, details.ApparentGeocentricLatitude); Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricDistance, details.ApparentGeocentricDistance); Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentLightTime, details.ApparentLightTime); Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricRA, details.ApparentGeocentricRA); Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricDeclination, details.ApparentGeocentricDeclination); }
protected void CorrectForLightTavelTime() { // double tau = AASElliptical.DistanceToLightTime(vectorToEarth.Length()); jde = jd - tau; eclipticLongitudeCorrected = GetEclipticLongitude(jde); eclipticLatitudeCorrected = GetEclipticLatitude(jde); distanceToSun = GetRadiusVector(jde); vectorToEarthCorrected = VectorToEarth(eclipticLongitudeCorrected, eclipticLatitudeCorrected, distanceToSun, eclipticLongitudeEarth, eclipticLatitudeEarth, AASEarth.RadiusVector(jd)); double tauCorrected = AASElliptical.DistanceToLightTime(vectorToEarthCorrected.Length()); jdeCorrected = jd - tauCorrected; eclipticLongitudeCorrected = GetEclipticLongitude(jdeCorrected); eclipticLatitudeCorrected = GetEclipticLatitude(jdeCorrected); distanceToSun = GetRadiusVector(jdeCorrected); }
public void CalculateWithObjectElementsTest(double JD, bool bHighPrecision, AASEllipticalObjectElements elements, AASEllipticalObjectDetails expectedEllipticalObjectDetails) { AASEllipticalObjectDetails details = AASElliptical.Calculate(JD, ref elements, bHighPrecision); Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEquatorial.X, details.HeliocentricRectangularEquatorial.X); Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEquatorial.Y, details.HeliocentricRectangularEquatorial.Y); Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEquatorial.Z, details.HeliocentricRectangularEquatorial.Z); Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEcliptical.X, details.HeliocentricRectangularEcliptical.X); Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEcliptical.Y, details.HeliocentricRectangularEcliptical.Y); Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEcliptical.Z, details.HeliocentricRectangularEcliptical.Z); Assert.Equal(expectedEllipticalObjectDetails.HeliocentricEclipticLongitude, details.HeliocentricEclipticLongitude); Assert.Equal(expectedEllipticalObjectDetails.HeliocentricEclipticLatitude, details.HeliocentricEclipticLatitude); Assert.Equal(expectedEllipticalObjectDetails.TrueGeocentricRA, details.TrueGeocentricRA); Assert.Equal(expectedEllipticalObjectDetails.TrueGeocentricDeclination, details.TrueGeocentricDeclination); Assert.Equal(expectedEllipticalObjectDetails.TrueGeocentricDistance, details.TrueGeocentricDistance); Assert.Equal(expectedEllipticalObjectDetails.TrueGeocentricLightTime, details.TrueGeocentricLightTime); Assert.Equal(expectedEllipticalObjectDetails.AstrometricGeocentricRA, details.AstrometricGeocentricRA); Assert.Equal(expectedEllipticalObjectDetails.AstrometricGeocentricDeclination, details.AstrometricGeocentricDeclination); Assert.Equal(expectedEllipticalObjectDetails.AstrometricGeocentricDistance, details.AstrometricGeocentricDistance); Assert.Equal(expectedEllipticalObjectDetails.AstrometricGeocentricLightTime, details.AstrometricGeocentricLightTime); Assert.Equal(expectedEllipticalObjectDetails.Elongation, details.Elongation); Assert.Equal(expectedEllipticalObjectDetails.PhaseAngle, details.PhaseAngle); }
public void VelocityAtAphelionTest(double r, double a, double expectedVelocityAtAphelion) { double velocity = AASElliptical.VelocityAtAphelion(r, a); Assert.Equal(expectedVelocityAtAphelion, velocity); }
public void InstantaneousVelocityTest(double r, double a, double expectedInstantaneousVelocity) { double velocity = AASElliptical.InstantaneousVelocity(r, a); Assert.Equal(expectedInstantaneousVelocity, velocity); }
public void LengthOfEllipseTest(double e, double a, double expectedLengthOfEllipse) { double length = AASElliptical.LengthOfEllipse(e, a); Assert.Equal(expectedLengthOfEllipse, length); }
public void MinorPlanetMagnitudeTest(double H, double delta, double G, double r, double PhaseAngle, double expectedMagnitude) { double magnitude = AASElliptical.MinorPlanetMagnitude(H, delta, G, r, PhaseAngle); Assert.Equal(expectedMagnitude, magnitude); }
public void CometMagnitudeTest(double g, double delta, double k, double r, double expectedMagnitude) { double magnitude = AASElliptical.CometMagnitude(g, delta, k, r); Assert.Equal(expectedMagnitude, magnitude); }
public void SemiMajorAxisFromPerihelionDistanceTest(double q, double e, double expectedSemiMajorAxis) { double semiMajorAxis = AASElliptical.SemiMajorAxisFromPerihelionDistance(q, e); Assert.Equal(expectedSemiMajorAxis, semiMajorAxis); }
public AASEllipticalPlanetaryDetails GetPlanetaryDetails(double jd) { return(AASElliptical.Calculate(jd, GetEllipticalObject())); }