Practical Astronomy Algorithms in .NET/C#
Loading...
Searching...
No Matches
PADateTime.cs
Go to the documentation of this file.
1using System;
2using Xunit;
3
4namespace PALib.Tests;
5
6public class PADateTime_Tests
7{
8 private readonly PADateTime _paDateTime;
9
11 {
12 _paDateTime = new PADateTime();
13 }
14
15 [Fact]
16 public void GetDateOfEaster()
17 {
18 Assert.Equal((4, 20, 2003), _paDateTime.GetDateOfEaster(2003));
19 Assert.Equal((4, 21, 2019), _paDateTime.GetDateOfEaster(2019));
20 Assert.Equal((4, 12, 2020), _paDateTime.GetDateOfEaster(2020));
21 }
22
23 [Fact]
25 {
26 Assert.Equal(1, _paDateTime.CivilDateToDayNumber(1, 1, 2000));
27 Assert.Equal(61, _paDateTime.CivilDateToDayNumber(3, 1, 2000));
28 Assert.Equal(152, _paDateTime.CivilDateToDayNumber(6, 1, 2003));
29 Assert.Equal(331, _paDateTime.CivilDateToDayNumber(11, 27, 2009));
30 }
31
32 [Fact]
34 {
35 Assert.Equal(18.52416667, Math.Round(_paDateTime.CivilTimeToDecimalHours(18, 31, 27), 8));
36 }
37
38 [Fact]
40 {
41 Assert.Equal((18, 31, 27), _paDateTime.DecimalHoursToCivilTime(18.52416667));
42 }
43
44 [Fact]
46 {
47 Assert.Equal((22, 37, 0, 30, 6, 2013), _paDateTime.LocalCivilTimeToUniversalTime(3, 37, 0, true, 4, 1, 7, 2013));
48 }
49
50 [Fact]
52 {
53 Assert.Equal((3, 37, 0, 1, 7, 2013), _paDateTime.UniversalTimeToLocalCivilTime(22, 37, 0, true, 4, 30, 6, 2013));
54 }
55
56 [Fact]
58 {
59 Assert.Equal((4, 40, 5.23), _paDateTime.UniversalTimeToGreenwichSiderealTime(14, 36, 51.67, 22, 4, 1980));
60 }
61
62 [Fact]
64 {
65 Assert.Equal((14, 36, 51.67, PAWarningFlag.OK), _paDateTime.GreenwichSiderealTimeToUniversalTime(4, 40, 5.23, 22, 4, 1980));
66 }
67
68 [Fact]
70 {
71 Assert.Equal((0, 24, 5.23), _paDateTime.GreenwichSiderealTimeToLocalSiderealTime(4, 40, 5.23, -64));
72 }
73
74 [Fact]
76 {
77 Assert.Equal((4, 40, 5.23), _paDateTime.LocalSiderealTimeToGreenwichSiderealTime(0, 24, 5.23, -64));
78 }
79}
Date and time calculations.
Definition PADateTime.cs:10
int int double PAWarningFlag warningFlag GreenwichSiderealTimeToUniversalTime(double gstHours, double gstMinutes, double gstSeconds, double gwDay, int gwMonth, int gwYear)
int int int Year GetDateOfEaster(int inputYear)
Definition PADateTime.cs:15
double CivilTimeToDecimalHours(double hours, double minutes, double seconds)
Convert a Civil Time (hours,minutes,seconds) to Decimal Hours.
Definition PADateTime.cs:63
int int double lstSeconds GreenwichSiderealTimeToLocalSiderealTime(double gstHours, double gstMinutes, double gstSeconds, double geographicalLongitude)
double double double seconds DecimalHoursToCivilTime(double decimalHours)
Definition PADateTime.cs:72
int int int int int int localYear UniversalTimeToLocalCivilTime(double utHours, double utMinutes, double utSeconds, bool isDaylightSavings, int zoneCorrection, int gwDay, int gwMonth, int gwYear)
int int double gstSeconds LocalSiderealTimeToGreenwichSiderealTime(double lstHours, double lstMinutes, double lstSeconds, double geographicalLongitude)
int int int int int int gwYear LocalCivilTimeToUniversalTime(double lctHours, double lctMinutes, double lctSeconds, bool isDaylightSavings, int zoneCorrection, double localDay, int localMonth, int localYear)
Definition PADateTime.cs:85
int int double gstSeconds UniversalTimeToGreenwichSiderealTime(double utHours, double utMinutes, double utSeconds, double gwDay, int gwMonth, int gwYear)
int CivilDateToDayNumber(int month, int day, int year)
Calculate day number for a date.
Definition PADateTime.cs:43
readonly PADateTime _paDateTime
Definition PADateTime.cs:8
void UniversalTimeToGreenwichSiderealTime()
Definition PADateTime.cs:57
void GreenwichSiderealTimeToUniversalTime()
Definition PADateTime.cs:63
void GreenwichSiderealTimeToLocalSiderealTime()
Definition PADateTime.cs:69
void LocalSiderealTimeToGreenwichSiderealTime()
Definition PADateTime.cs:75
PAWarningFlag
Warning flags for calculation results.
Definition PATypes.cs:81