32 lines · 930 B · Rust
RawDownload
use core::fmt::Debug; use proptest::{prelude::*, sample::SizeRange}; use crate::{Item, SumTree, Summary}; impl<T> Arbitrary for SumTree<T>where    T: Debug + Arbitrary + Item + 'static,    T::Summary: Debug + Summary<Context<'static> = ()>,{    type Parameters = ();    type Strategy = BoxedStrategy<Self>;     fn arbitrary_with((): Self::Parameters) -> Self::Strategy {        any::<Vec<T>>()            .prop_map(|vec| SumTree::from_iter(vec, ()))            .boxed()    }} /// A strategy for producing a [`SumTree`] with a given size.////// Equivalent to [`proptest::collection::vec`].pub fn sum_tree<S, T>(values: S, size: impl Into<SizeRange>) -> impl Strategy<Value = SumTree<T>>where    T: Debug + Arbitrary + Item + 'static,    T::Summary: Debug + Summary<Context<'static> = ()>,    S: Strategy<Value = T>,{    proptest::collection::vec(values, size).prop_map(|vec| SumTree::from_iter(vec, ()))}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t