lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

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 }