47 lines
1.2 KiB
Rust
47 lines
1.2 KiB
Rust
use crate::{amount::*, value_balance::*};
|
|
use proptest::prelude::*;
|
|
|
|
impl Arbitrary for ValueBalance<NegativeAllowed> {
|
|
type Parameters = ();
|
|
|
|
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy {
|
|
(
|
|
any::<Amount<NegativeAllowed>>(),
|
|
any::<Amount<NegativeAllowed>>(),
|
|
any::<Amount<NegativeAllowed>>(),
|
|
any::<Amount<NegativeAllowed>>(),
|
|
)
|
|
.prop_map(|(transparent, sprout, sapling, orchard)| Self {
|
|
transparent,
|
|
sprout,
|
|
sapling,
|
|
orchard,
|
|
})
|
|
.boxed()
|
|
}
|
|
|
|
type Strategy = BoxedStrategy<Self>;
|
|
}
|
|
|
|
impl Arbitrary for ValueBalance<NonNegative> {
|
|
type Parameters = ();
|
|
|
|
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy {
|
|
(
|
|
any::<Amount<NonNegative>>(),
|
|
any::<Amount<NonNegative>>(),
|
|
any::<Amount<NonNegative>>(),
|
|
any::<Amount<NonNegative>>(),
|
|
)
|
|
.prop_map(|(transparent, sprout, sapling, orchard)| Self {
|
|
transparent,
|
|
sprout,
|
|
sapling,
|
|
orchard,
|
|
})
|
|
.boxed()
|
|
}
|
|
|
|
type Strategy = BoxedStrategy<Self>;
|
|
}
|