package_boundary.rs (1339B)
1 use radroots_core::unit::UnitDimension; 2 #[allow(unused_imports)] 3 use radroots_core::{ 4 Currency, Decimal, Error, Money, Percent, Quantity, QuantityPrice, Unit, currency as _, 5 decimal as _, money as _, percent as _, pricing as _, quantity as _, unit as _, 6 }; 7 8 #[test] 9 fn approved_module_skeleton_is_public() {} 10 11 #[test] 12 fn canonical_value_paths_are_public() { 13 let _ = core::mem::size_of::<Currency>(); 14 let _ = core::mem::size_of::<Decimal>(); 15 let _ = core::mem::size_of::<Money>(); 16 let _ = core::mem::size_of::<Percent>(); 17 let _ = core::mem::size_of::<Quantity>(); 18 let _ = core::mem::size_of::<QuantityPrice>(); 19 let _ = core::mem::size_of::<Unit>(); 20 let _ = core::mem::size_of::<Error>(); 21 let _ = UnitDimension::Count; 22 let _ = core::mem::size_of::<radroots_core::pricing::Discount>(); 23 let _ = core::mem::size_of::<radroots_core::pricing::DiscountError>(); 24 let _ = core::mem::size_of::<radroots_core::pricing::Error>(); 25 } 26 27 #[test] 28 fn canonical_values_use_checked_construction() { 29 let money = Money::try_new(Decimal::ONE, Currency::USD).expect("valid money"); 30 let quantity = Quantity::try_new(Decimal::ONE, Unit::Each).expect("valid quantity"); 31 let price = QuantityPrice::try_new(money, quantity).expect("valid price"); 32 assert_eq!(price.quantity().unit(), Unit::Each); 33 }