mirror of
https://github.com/acamarata/pray-calc-dart.git
synced 2026-06-30 19:04:25 +00:00
style: apply dart format
This commit is contained in:
parent
b8923f49a6
commit
de3f9c8c67
1 changed files with 45 additions and 36 deletions
|
|
@ -198,49 +198,58 @@ void main() {
|
||||||
// "March 15" (via their .year/.month/.day fields) produce identical prayer
|
// "March 15" (via their .year/.month/.day fields) produce identical prayer
|
||||||
// times, regardless of what the host machine timezone is.
|
// times, regardless of what the host machine timezone is.
|
||||||
|
|
||||||
test('local DateTime and UTC noon for same civil date produce identical times', () {
|
test(
|
||||||
// Both express 2024-03-15: local midnight and UTC noon share year/month/day = 2024/3/15
|
'local DateTime and UTC noon for same civil date produce identical times',
|
||||||
final local = DateTime(2024, 3, 15);
|
() {
|
||||||
final utcNoon = DateTime.utc(2024, 3, 15, 12, 0, 0);
|
// Both express 2024-03-15: local midnight and UTC noon share year/month/day = 2024/3/15
|
||||||
|
final local = DateTime(2024, 3, 15);
|
||||||
|
final utcNoon = DateTime.utc(2024, 3, 15, 12, 0, 0);
|
||||||
|
|
||||||
final timesLocal = getTimes(local, 40.7128, -74.0060, -5.0);
|
final timesLocal = getTimes(local, 40.7128, -74.0060, -5.0);
|
||||||
final timesNoon = getTimes(utcNoon, 40.7128, -74.0060, -5.0);
|
final timesNoon = getTimes(utcNoon, 40.7128, -74.0060, -5.0);
|
||||||
|
|
||||||
// After normalization both resolve to the same UTC noon reference point
|
// After normalization both resolve to the same UTC noon reference point
|
||||||
expect(timesNoon.fajr, closeTo(timesLocal.fajr, 0.0001));
|
expect(timesNoon.fajr, closeTo(timesLocal.fajr, 0.0001));
|
||||||
expect(timesNoon.sunrise, closeTo(timesLocal.sunrise, 0.0001));
|
expect(timesNoon.sunrise, closeTo(timesLocal.sunrise, 0.0001));
|
||||||
expect(timesNoon.dhuhr, closeTo(timesLocal.dhuhr, 0.0001));
|
expect(timesNoon.dhuhr, closeTo(timesLocal.dhuhr, 0.0001));
|
||||||
expect(timesNoon.asr, closeTo(timesLocal.asr, 0.0001));
|
expect(timesNoon.asr, closeTo(timesLocal.asr, 0.0001));
|
||||||
expect(timesNoon.maghrib, closeTo(timesLocal.maghrib, 0.0001));
|
expect(timesNoon.maghrib, closeTo(timesLocal.maghrib, 0.0001));
|
||||||
expect(timesNoon.isha, closeTo(timesLocal.isha, 0.0001));
|
expect(timesNoon.isha, closeTo(timesLocal.isha, 0.0001));
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
||||||
test('UTC midnight and UTC noon for same civil date produce identical times', () {
|
test(
|
||||||
final utcMidnight = DateTime.utc(2024, 3, 15, 0, 0, 0);
|
'UTC midnight and UTC noon for same civil date produce identical times',
|
||||||
final utcNoon = DateTime.utc(2024, 3, 15, 12, 0, 0);
|
() {
|
||||||
|
final utcMidnight = DateTime.utc(2024, 3, 15, 0, 0, 0);
|
||||||
|
final utcNoon = DateTime.utc(2024, 3, 15, 12, 0, 0);
|
||||||
|
|
||||||
final timesMid = getTimes(utcMidnight, 40.7128, -74.0060, -5.0);
|
final timesMid = getTimes(utcMidnight, 40.7128, -74.0060, -5.0);
|
||||||
final timesNoon = getTimes(utcNoon, 40.7128, -74.0060, -5.0);
|
final timesNoon = getTimes(utcNoon, 40.7128, -74.0060, -5.0);
|
||||||
|
|
||||||
expect(timesNoon.fajr, closeTo(timesMid.fajr, 0.0001));
|
expect(timesNoon.fajr, closeTo(timesMid.fajr, 0.0001));
|
||||||
expect(timesNoon.sunrise, closeTo(timesMid.sunrise, 0.0001));
|
expect(timesNoon.sunrise, closeTo(timesMid.sunrise, 0.0001));
|
||||||
expect(timesNoon.dhuhr, closeTo(timesMid.dhuhr, 0.0001));
|
expect(timesNoon.dhuhr, closeTo(timesMid.dhuhr, 0.0001));
|
||||||
expect(timesNoon.asr, closeTo(timesMid.asr, 0.0001));
|
expect(timesNoon.asr, closeTo(timesMid.asr, 0.0001));
|
||||||
expect(timesNoon.maghrib, closeTo(timesMid.maghrib, 0.0001));
|
expect(timesNoon.maghrib, closeTo(timesMid.maghrib, 0.0001));
|
||||||
expect(timesNoon.isha, closeTo(timesMid.isha, 0.0001));
|
expect(timesNoon.isha, closeTo(timesMid.isha, 0.0001));
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
||||||
test('angles are identical for local vs UTC noon for the same civil date', () {
|
test(
|
||||||
final local = DateTime(2024, 6, 15);
|
'angles are identical for local vs UTC noon for the same civil date',
|
||||||
final utcNoon = DateTime.utc(2024, 6, 15, 12, 0, 0);
|
() {
|
||||||
|
final local = DateTime(2024, 6, 15);
|
||||||
|
final utcNoon = DateTime.utc(2024, 6, 15, 12, 0, 0);
|
||||||
|
|
||||||
// getAngles receives civDate (already UTC noon from getTimes) but can
|
// getAngles receives civDate (already UTC noon from getTimes) but can
|
||||||
// also be called directly — test that same civil date gives same angles.
|
// also be called directly — test that same civil date gives same angles.
|
||||||
final anglesLocal = getAngles(local, 40.7128, -74.0060);
|
final anglesLocal = getAngles(local, 40.7128, -74.0060);
|
||||||
final anglesUtcNoon = getAngles(utcNoon, 40.7128, -74.0060);
|
final anglesUtcNoon = getAngles(utcNoon, 40.7128, -74.0060);
|
||||||
|
|
||||||
expect(anglesUtcNoon.fajrAngle, closeTo(anglesLocal.fajrAngle, 0.001));
|
expect(anglesUtcNoon.fajrAngle, closeTo(anglesLocal.fajrAngle, 0.001));
|
||||||
expect(anglesUtcNoon.ishaAngle, closeTo(anglesLocal.ishaAngle, 0.001));
|
expect(anglesUtcNoon.ishaAngle, closeTo(anglesLocal.ishaAngle, 0.001));
|
||||||
});
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue