@@ -348,7 +348,7 @@ impl Rules for Dangi {
348
348
( 2 , true , false ) => 1947 ,
349
349
( 2 , true , true ) => 1765 ,
350
350
( 3 , false , false ) => 1972 ,
351
- ( 3 , false , true ) => 1966 ,
351
+ ( 3 , false , true ) => 1968 ,
352
352
( 3 , true , false ) => 1966 ,
353
353
( 3 , true , true ) => 1955 ,
354
354
( 4 , false , false ) => 1972 ,
@@ -378,18 +378,17 @@ impl Rules for Dangi {
378
378
( 10 , false , false ) => 1972 ,
379
379
( 10 , false , true ) => 1972 ,
380
380
( 10 , true , false ) => 1984 ,
381
- ( 10 , true , true ) => -4098 ,
381
+ ( 10 , true , true ) => -3946 ,
382
382
// Dec 31, 1972 is 1972-M11-26, dates after that
383
383
// are in the next year
384
- ( 11 , false , false ) if day > 26 => 1971 ,
384
+ ( 11 , false , _ ) if day > 26 => 1971 ,
385
385
( 11 , false , false ) => 1972 ,
386
- ( 11 , false , true ) => 1969 ,
387
386
( 11 , true , false ) => 2033 ,
388
387
( 11 , true , true ) => -2173 ,
389
388
( 12 , false , false ) => 1971 ,
390
389
( 12 , false , true ) => 1971 ,
391
- ( 12 , true , false ) => 1403 ,
392
- ( 12 , true , true ) => -180 ,
390
+ ( 12 , true , false ) => 1889 ,
391
+ ( 12 , true , true ) => -1182 ,
393
392
_ => return Err ( DateError :: UnknownMonthCode ( month_code) ) ,
394
393
} ;
395
394
Ok ( self . year_data ( extended) )
@@ -2287,8 +2286,13 @@ mod test {
2287
2286
#[ test]
2288
2287
#[ ignore]
2289
2288
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 > ) {
2290
2293
use crate :: Date ;
2291
- let calendar = crate :: cal:: LunarChinese :: new_china ( ) ;
2294
+
2295
+ println ! ( "Rules for {rules:?}:" ) ;
2292
2296
let reference_year_end = Date :: from_rata_die (
2293
2297
crate :: cal:: abstract_gregorian:: LAST_DAY_OF_REFERENCE_YEAR ,
2294
2298
calendar,
@@ -2333,7 +2337,7 @@ mod test {
2333
2337
year += by;
2334
2338
continue ;
2335
2339
}
2336
- let data = China . year_data ( year) ;
2340
+ let data = rules . year_data ( year) ;
2337
2341
let leap_month = data. leap_month ( ) . unwrap_or ( 15 ) ;
2338
2342
let days_in_month = data. days_in_month ( {
2339
2343
if leap && month + 1 == leap_month {
0 commit comments