1#![forbid(unsafe_code)]
2pub use use_business_day;
22pub use use_business_day::*;
23pub use use_date;
24pub use use_date::*;
25pub use use_date_range;
26pub use use_date_range::*;
27pub use use_month;
28pub use use_month::*;
29pub use use_quarter;
30pub use use_quarter::*;
31pub use use_recurrence;
32pub use use_recurrence::*;
33pub use use_weekday;
34pub use use_weekday::*;
35pub use use_year;
36pub use use_year::*;
37
38#[cfg(test)]
39mod tests {
40 use super::{
41 adjust_business_day, business_days_between, date_range, quarter_for_month, recurring_dates,
42 BusinessDayConvention, CalendarDate, Quarter, RecurrenceFrequency,
43 };
44
45 #[test]
46 fn facade_reexports_workspace_apis() {
47 let start = CalendarDate::new(2024, 1, 31).unwrap();
48 let dates = recurring_dates(start, RecurrenceFrequency::Monthly, 1, 3).unwrap();
49 let range = date_range(start, CalendarDate::new(2024, 2, 2).unwrap()).unwrap();
50
51 assert_eq!(quarter_for_month(start.month()).unwrap(), Quarter::Q1);
52 assert_eq!(dates[1], CalendarDate::new(2024, 2, 29).unwrap());
53 assert_eq!(range.len(), 3);
54 assert_eq!(
55 business_days_between(start, CalendarDate::new(2024, 2, 2).unwrap()).unwrap(),
56 3
57 );
58 assert_eq!(
59 adjust_business_day(
60 CalendarDate::new(2024, 2, 3).unwrap(),
61 BusinessDayConvention::Following
62 ),
63 CalendarDate::new(2024, 2, 5).unwrap()
64 );
65 }
66}