Skip to content

Commit f41a88e

Browse files
committed
Fix reference year generation test, update
1 parent fd2af46 commit f41a88e

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

components/calendar/src/cal/chinese.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ impl Rules for Dangi {
348348
(2, true, false) => 1947,
349349
(2, true, true) => 1765,
350350
(3, false, false) => 1972,
351-
(3, false, true) => 1966,
351+
(3, false, true) => 1968,
352352
(3, true, false) => 1966,
353353
(3, true, true) => 1955,
354354
(4, false, false) => 1972,
@@ -378,18 +378,17 @@ impl Rules for Dangi {
378378
(10, false, false) => 1972,
379379
(10, false, true) => 1972,
380380
(10, true, false) => 1984,
381-
(10, true, true) => -4098,
381+
(10, true, true) => -3946,
382382
// Dec 31, 1972 is 1972-M11-26, dates after that
383383
// are in the next year
384-
(11, false, false) if day > 26 => 1971,
384+
(11, false, _) if day > 26 => 1971,
385385
(11, false, false) => 1972,
386-
(11, false, true) => 1969,
387386
(11, true, false) => 2033,
388387
(11, true, true) => -2173,
389388
(12, false, false) => 1971,
390389
(12, false, true) => 1971,
391-
(12, true, false) => 1403,
392-
(12, true, true) => -180,
390+
(12, true, false) => 1889,
391+
(12, true, true) => -1182,
393392
_ => return Err(DateError::UnknownMonthCode(month_code)),
394393
};
395394
Ok(self.year_data(extended))
@@ -2287,8 +2286,13 @@ mod test {
22872286
#[test]
22882287
#[ignore]
22892288
fn generate_reference_years() {
2289+
generate_reference_years_for(China, crate::cal::LunarChinese::new_china());
2290+
generate_reference_years_for(Dangi, crate::cal::LunarChinese::new_dangi());
2291+
}
2292+
fn generate_reference_years_for<R: Rules + Copy>(rules: R, calendar: LunarChinese<R>) {
22902293
use crate::Date;
2291-
let calendar = crate::cal::LunarChinese::new_china();
2294+
2295+
println!("Rules for {rules:?}:");
22922296
let reference_year_end = Date::from_rata_die(
22932297
crate::cal::abstract_gregorian::LAST_DAY_OF_REFERENCE_YEAR,
22942298
calendar,
@@ -2333,7 +2337,7 @@ mod test {
23332337
year += by;
23342338
continue;
23352339
}
2336-
let data = China.year_data(year);
2340+
let data = rules.year_data(year);
23372341
let leap_month = data.leap_month().unwrap_or(15);
23382342
let days_in_month = data.days_in_month({
23392343
if leap && month + 1 == leap_month {

0 commit comments

Comments
 (0)