Get tests passing again
This commit is contained in:
parent
169032a637
commit
fa8391cea0
File diff suppressed because it is too large
Load Diff
|
@ -118,6 +118,7 @@ fn astronomia_eventa_desegno(
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
fn page_template(
|
||||
fluent: Arc<fluent_ergonomics::FluentErgo>,
|
||||
today: IFC::IFC,
|
||||
|
@ -159,6 +160,7 @@ async fn page(
|
|||
fluent, d, sun_moon, next_event,
|
||||
)))
|
||||
}
|
||||
*/
|
||||
|
||||
#[tokio::main]
|
||||
pub async fn main() {
|
||||
|
|
122
ifc/src/lib.rs
122
ifc/src/lib.rs
|
@ -152,7 +152,11 @@ impl IFC {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn day_of_week(&self) -> DayOfWeek {
|
||||
pub fn month_ifc(&self) -> Month {
|
||||
Month::from(self.month())
|
||||
}
|
||||
|
||||
pub fn weekday_ifc(&self) -> DayOfWeek {
|
||||
match *self {
|
||||
IFC::LeapDay(_) => DayOfWeek::LeapDay,
|
||||
IFC::YearDay(_) => DayOfWeek::YearDay,
|
||||
|
@ -247,37 +251,7 @@ impl From<IFC> for chrono::NaiveDate {
|
|||
}
|
||||
|
||||
/*
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
||||
pub struct IFC {
|
||||
year: u32,
|
||||
ordinal: u32,
|
||||
leap_year: bool,
|
||||
}
|
||||
|
||||
|
||||
impl IFC {
|
||||
pub fn ymd(year: u32, month: u8, day: u8) -> Self {
|
||||
let leap_year = is_leap_year(year as i32 - 10000);
|
||||
|
||||
let ordinal = if is_leap_year(year as i32 - 10000) {
|
||||
if month == 6 && day == 29 {
|
||||
168
|
||||
} else if month > 6 {
|
||||
(month as u32 - 1) * 28 + (day as u32)
|
||||
} else {
|
||||
(month as u32 - 1) * 28 + (day as u32) - 1
|
||||
}
|
||||
} else {
|
||||
(month as u32 - 1) * 28 + (day as u32) - 1
|
||||
};
|
||||
|
||||
IFC {
|
||||
year,
|
||||
ordinal,
|
||||
leap_year,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn year_day(year: u32) -> Self {
|
||||
Self {
|
||||
year,
|
||||
|
@ -285,26 +259,6 @@ impl IFC {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn leap_day(year: u32) -> Result<IFC, Error> {
|
||||
}
|
||||
|
||||
pub fn weekday(&self) -> DayOfWeek {
|
||||
// if self.day.ordinal ==
|
||||
match self.day() % 7 {
|
||||
0 => DayOfWeek::Saturday,
|
||||
1 => DayOfWeek::Sunday,
|
||||
2 => DayOfWeek::Monday,
|
||||
3 => DayOfWeek::Tuesday,
|
||||
4 => DayOfWeek::Wednesday,
|
||||
5 => DayOfWeek::Thursday,
|
||||
6 => DayOfWeek::Friday,
|
||||
_ => panic!("impossible condition"),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn month_ifc(&self) -> Month {
|
||||
Month::from(self.month())
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
@ -333,15 +287,17 @@ impl From<chrono::NaiveDate> for IFC {
|
|||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
impl Datelike for IFC {
|
||||
fn year(&self) -> i32 {
|
||||
self.year as i32
|
||||
// self.year as i32
|
||||
unimplemented!()
|
||||
}
|
||||
fn month(&self) -> u32 {
|
||||
self.month0() + 1
|
||||
// self.month0() + 1
|
||||
unimplemented!()
|
||||
}
|
||||
fn month0(&self) -> u32 {
|
||||
/*
|
||||
if self.leap_year && self.ordinal == 365 {
|
||||
12
|
||||
} else if self.leap_year && self.ordinal == 168 {
|
||||
|
@ -349,11 +305,15 @@ impl Datelike for IFC {
|
|||
} else {
|
||||
self.ordinal / 28
|
||||
}
|
||||
*/
|
||||
unimplemented!()
|
||||
}
|
||||
fn day(&self) -> u32 {
|
||||
self.day0() + 1
|
||||
// self.day0() + 1
|
||||
unimplemented!()
|
||||
}
|
||||
fn day0(&self) -> u32 {
|
||||
/*
|
||||
if self.leap_year {
|
||||
if self.ordinal == 365 {
|
||||
28
|
||||
|
@ -371,12 +331,16 @@ impl Datelike for IFC {
|
|||
self.ordinal.rem_euclid(28) as u32
|
||||
}
|
||||
}
|
||||
*/
|
||||
unimplemented!()
|
||||
}
|
||||
fn ordinal(&self) -> u32 {
|
||||
self.ordinal + 1
|
||||
// self.ordinal + 1
|
||||
unimplemented!()
|
||||
}
|
||||
fn ordinal0(&self) -> u32 {
|
||||
self.ordinal
|
||||
// self.ordinal
|
||||
unimplemented!()
|
||||
}
|
||||
fn weekday(&self) -> chrono::Weekday {
|
||||
if self.day0() == 28 {
|
||||
|
@ -398,40 +362,52 @@ impl Datelike for IFC {
|
|||
panic!("iso_week is not implemented because chrono does not expose any constructors for IsoWeek!");
|
||||
}
|
||||
fn with_year(&self, year: i32) -> Option<IFC> {
|
||||
/*
|
||||
Some(IFC {
|
||||
year: (year as u32) + 10000,
|
||||
ordinal: self.ordinal,
|
||||
leap_year: is_leap_year(year),
|
||||
})
|
||||
*/
|
||||
unimplemented!()
|
||||
}
|
||||
fn with_month(&self, month: u32) -> Option<IFC> {
|
||||
Some(IFC::ymd(self.year, month as u8, self.day() as u8))
|
||||
// Some(IFC::ymd(self.year, month as u8, self.day() as u8))
|
||||
unimplemented!()
|
||||
}
|
||||
fn with_month0(&self, month: u32) -> Option<IFC> {
|
||||
Some(IFC::ymd(self.year, month as u8 + 1, self.day() as u8))
|
||||
// Some(IFC::ymd(self.year, month as u8 + 1, self.day() as u8))
|
||||
unimplemented!()
|
||||
}
|
||||
fn with_day(&self, day: u32) -> Option<IFC> {
|
||||
Some(IFC::ymd(self.year, self.month() as u8, day as u8))
|
||||
// Some(IFC::ymd(self.year, self.month() as u8, day as u8))
|
||||
unimplemented!()
|
||||
}
|
||||
fn with_day0(&self, day: u32) -> Option<IFC> {
|
||||
Some(IFC::ymd(self.year, self.month() as u8, day as u8 + 1))
|
||||
// Some(IFC::ymd(self.year, self.month() as u8, day as u8 + 1))
|
||||
unimplemented!()
|
||||
}
|
||||
fn with_ordinal(&self, ordinal: u32) -> Option<IFC> {
|
||||
/*
|
||||
Some(IFC {
|
||||
year: self.year,
|
||||
ordinal,
|
||||
leap_year: self.leap_year,
|
||||
})
|
||||
*/
|
||||
unimplemented!()
|
||||
}
|
||||
fn with_ordinal0(&self, ordinal: u32) -> Option<IFC> {
|
||||
/*
|
||||
Some(IFC {
|
||||
year: self.year,
|
||||
ordinal: ordinal + 1,
|
||||
leap_year: self.leap_year,
|
||||
})
|
||||
}
|
||||
}
|
||||
*/
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
|
@ -463,40 +439,40 @@ mod tests {
|
|||
#[test]
|
||||
fn it_expresses_day_of_week() {
|
||||
assert_eq!(
|
||||
IFC::leap_day(12020).unwrap().day_of_week(),
|
||||
IFC::leap_day(12020).unwrap().weekday_ifc(),
|
||||
DayOfWeek::LeapDay
|
||||
);
|
||||
assert_eq!(IFC::year_day(12022).day_of_week(), DayOfWeek::YearDay);
|
||||
assert_eq!(IFC::year_day(12022).weekday_ifc(), DayOfWeek::YearDay);
|
||||
assert_eq!(
|
||||
IFC::ymd(12022, 1, 1).unwrap().day_of_week(),
|
||||
IFC::ymd(12022, 1, 1).unwrap().weekday_ifc(),
|
||||
DayOfWeek::Sunday
|
||||
);
|
||||
assert_eq!(
|
||||
IFC::ymd(12022, 1, 2).unwrap().day_of_week(),
|
||||
IFC::ymd(12022, 1, 2).unwrap().weekday_ifc(),
|
||||
DayOfWeek::Monday
|
||||
);
|
||||
assert_eq!(
|
||||
IFC::ymd(12022, 1, 3).unwrap().day_of_week(),
|
||||
IFC::ymd(12022, 1, 3).unwrap().weekday_ifc(),
|
||||
DayOfWeek::Tuesday
|
||||
);
|
||||
assert_eq!(
|
||||
IFC::ymd(12022, 1, 4).unwrap().day_of_week(),
|
||||
IFC::ymd(12022, 1, 4).unwrap().weekday_ifc(),
|
||||
DayOfWeek::Wednesday
|
||||
);
|
||||
assert_eq!(
|
||||
IFC::ymd(12022, 1, 5).unwrap().day_of_week(),
|
||||
IFC::ymd(12022, 1, 5).unwrap().weekday_ifc(),
|
||||
DayOfWeek::Thursday
|
||||
);
|
||||
assert_eq!(
|
||||
IFC::ymd(12022, 1, 6).unwrap().day_of_week(),
|
||||
IFC::ymd(12022, 1, 6).unwrap().weekday_ifc(),
|
||||
DayOfWeek::Friday
|
||||
);
|
||||
assert_eq!(
|
||||
IFC::ymd(12022, 1, 7).unwrap().day_of_week(),
|
||||
IFC::ymd(12022, 1, 7).unwrap().weekday_ifc(),
|
||||
DayOfWeek::Saturday
|
||||
);
|
||||
assert_eq!(
|
||||
IFC::ymd(12022, 1, 8).unwrap().day_of_week(),
|
||||
IFC::ymd(12022, 1, 8).unwrap().weekday_ifc(),
|
||||
DayOfWeek::Sunday
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue