• Home
  • Raw
  • Download

Lines Matching full:arbitrary

31 /// `Arbitrary::arbitrary`, which permits callers to use lower level RNG
91 /// `Arbitrary` describes types whose values can be randomly generated and
94 /// Aside from shrinking, `Arbitrary` is different from typical RNGs in that
96 /// value uses, for practical purposes. For example, `Vec::arbitrary()`
99 /// Conversely, `i32::arbitrary()` ignores `size()` since all `i32` values
103 /// Additionally, all types that implement `Arbitrary` must also implement
105 pub trait Arbitrary: Clone + 'static { interface
106 /// Return an arbitrary value.
110 /// defer to other `Arbitrary` implementations to generate other random
113 fn arbitrary(g: &mut Gen) -> Self; in arbitrary() method
133 impl Arbitrary for () { impl
134 fn arbitrary(_: &mut Gen) -> () { in arbitrary() method
139 impl Arbitrary for bool {
140 fn arbitrary(g: &mut Gen) -> bool { in arbitrary() method
153 impl<A: Arbitrary> Arbitrary for Option<A> {
154 fn arbitrary(g: &mut Gen) -> Option<A> { in arbitrary() method
158 Some(Arbitrary::arbitrary(g)) in arbitrary()
173 impl<A: Arbitrary, B: Arbitrary> Arbitrary for Result<A, B> {
174 fn arbitrary(g: &mut Gen) -> Result<A, B> { in arbitrary() method
176 Ok(Arbitrary::arbitrary(g)) in arbitrary()
178 Err(Arbitrary::arbitrary(g)) in arbitrary()
200 impl<$($type_param),*> Arbitrary for ($($type_param,)*) impl
201 where $($type_param: Arbitrary,)*
203 fn arbitrary(g: &mut Gen) -> ($($type_param,)*) {
206 $type_param::arbitrary(g),
251 impl<A: Arbitrary> Arbitrary for Vec<A> {
252 fn arbitrary(g: &mut Gen) -> Vec<A> { in arbitrary() method
257 (0..size).map(|_| A::arbitrary(g)).collect() in arbitrary()
277 impl<A: Arbitrary> VecShrinker<A> {
312 A: Arbitrary,
365 impl<K: Arbitrary + Ord, V: Arbitrary> Arbitrary for BTreeMap<K, V> {
366 fn arbitrary(g: &mut Gen) -> BTreeMap<K, V> { in arbitrary() method
367 let vec: Vec<(K, V)> = Arbitrary::arbitrary(g); in arbitrary()
380 K: Arbitrary + Eq + Hash,
381 V: Arbitrary,
383 > Arbitrary for HashMap<K, V, S>
385 fn arbitrary(g: &mut Gen) -> Self { in arbitrary() method
386 let vec: Vec<(K, V)> = Arbitrary::arbitrary(g); in arbitrary()
396 impl<T: Arbitrary + Ord> Arbitrary for BTreeSet<T> {
397 fn arbitrary(g: &mut Gen) -> BTreeSet<T> { in arbitrary() method
398 let vec: Vec<T> = Arbitrary::arbitrary(g); in arbitrary()
408 impl<T: Arbitrary + Ord> Arbitrary for BinaryHeap<T> {
409 fn arbitrary(g: &mut Gen) -> BinaryHeap<T> { in arbitrary() method
410 let vec: Vec<T> = Arbitrary::arbitrary(g); in arbitrary()
422 impl<T: Arbitrary + Eq + Hash, S: BuildHasher + Default + Clone + 'static>
423 Arbitrary for HashSet<T, S>
425 fn arbitrary(g: &mut Gen) -> Self { in arbitrary() method
426 let vec: Vec<T> = Arbitrary::arbitrary(g); in arbitrary()
436 impl<T: Arbitrary> Arbitrary for LinkedList<T> {
437 fn arbitrary(g: &mut Gen) -> LinkedList<T> { in arbitrary() method
438 let vec: Vec<T> = Arbitrary::arbitrary(g); in arbitrary()
450 impl<T: Arbitrary> Arbitrary for VecDeque<T> {
451 fn arbitrary(g: &mut Gen) -> VecDeque<T> { in arbitrary() method
452 let vec: Vec<T> = Arbitrary::arbitrary(g); in arbitrary()
462 impl Arbitrary for IpAddr {
463 fn arbitrary(g: &mut Gen) -> IpAddr { in arbitrary() method
466 IpAddr::V4(Arbitrary::arbitrary(g)) in arbitrary()
468 IpAddr::V6(Arbitrary::arbitrary(g)) in arbitrary()
473 impl Arbitrary for Ipv4Addr {
474 fn arbitrary(g: &mut Gen) -> Ipv4Addr { in arbitrary() method
479 impl Arbitrary for Ipv6Addr {
480 fn arbitrary(g: &mut Gen) -> Ipv6Addr { in arbitrary() method
494 impl Arbitrary for SocketAddr {
495 fn arbitrary(g: &mut Gen) -> SocketAddr { in arbitrary() method
496 SocketAddr::new(Arbitrary::arbitrary(g), g.gen()) in arbitrary()
500 impl Arbitrary for SocketAddrV4 {
501 fn arbitrary(g: &mut Gen) -> SocketAddrV4 { in arbitrary() method
502 SocketAddrV4::new(Arbitrary::arbitrary(g), g.gen()) in arbitrary()
506 impl Arbitrary for SocketAddrV6 {
507 fn arbitrary(g: &mut Gen) -> SocketAddrV6 { in arbitrary() method
508 SocketAddrV6::new(Arbitrary::arbitrary(g), g.gen(), g.gen(), g.gen()) in arbitrary()
512 impl Arbitrary for PathBuf {
513 fn arbitrary(g: &mut Gen) -> PathBuf { in arbitrary() method
533 p.extend(Vec::<OsString>::arbitrary(g).iter()); in arbitrary()
563 impl Arbitrary for OsString {
564 fn arbitrary(g: &mut Gen) -> OsString { in arbitrary() method
565 OsString::from(String::arbitrary(g)) in arbitrary()
574 impl Arbitrary for String {
575 fn arbitrary(g: &mut Gen) -> String { in arbitrary() method
580 (0..size).map(|_| char::arbitrary(g)).collect() in arbitrary()
590 impl Arbitrary for CString {
591 fn arbitrary(g: &mut Gen) -> Self { in arbitrary() method
601 .map(|_| char::arbitrary(g)) in arbitrary()
609 .map(|_| u8::arbitrary(g)) in arbitrary()
630 impl Arbitrary for char {
631 fn arbitrary(g: &mut Gen) -> char { in arbitrary() method
720 // Completely arbitrary characters in arbitrary()
779 impl Arbitrary for $ty { impl
780 fn arbitrary(g: &mut Gen) -> $ty {
851 impl Arbitrary for $ty { impl
852 fn arbitrary(g: &mut Gen) -> $ty {
883 impl Arbitrary for $t { impl
884 fn arbitrary(g: &mut Gen) -> $t {
951 impl Arbitrary for $ty { impl
952 fn arbitrary(g: &mut Gen) -> $ty {
980 impl<T: Arbitrary> Arbitrary for Wrapping<T> {
981 fn arbitrary(g: &mut Gen) -> Wrapping<T> { in arbitrary() method
982 Wrapping(T::arbitrary(g)) in arbitrary()
989 impl<T: Arbitrary> Arbitrary for Bound<T> {
990 fn arbitrary(g: &mut Gen) -> Bound<T> { in arbitrary() method
992 0 => Bound::Included(T::arbitrary(g)), in arbitrary()
993 1 => Bound::Excluded(T::arbitrary(g)), in arbitrary()
1010 impl<T: Arbitrary + Clone + PartialOrd> Arbitrary for Range<T> {
1011 fn arbitrary(g: &mut Gen) -> Range<T> { in arbitrary() method
1012 Arbitrary::arbitrary(g)..Arbitrary::arbitrary(g) in arbitrary()
1021 impl<T: Arbitrary + Clone + PartialOrd> Arbitrary for RangeInclusive<T> {
1022 fn arbitrary(g: &mut Gen) -> RangeInclusive<T> { in arbitrary() method
1023 Arbitrary::arbitrary(g)..=Arbitrary::arbitrary(g) in arbitrary()
1034 impl<T: Arbitrary + Clone + PartialOrd> Arbitrary for RangeFrom<T> {
1035 fn arbitrary(g: &mut Gen) -> RangeFrom<T> { in arbitrary() method
1036 Arbitrary::arbitrary(g).. in arbitrary()
1043 impl<T: Arbitrary + Clone + PartialOrd> Arbitrary for RangeTo<T> {
1044 fn arbitrary(g: &mut Gen) -> RangeTo<T> { in arbitrary() method
1045 ..Arbitrary::arbitrary(g) in arbitrary()
1052 impl<T: Arbitrary + Clone + PartialOrd> Arbitrary for RangeToInclusive<T> {
1053 fn arbitrary(g: &mut Gen) -> RangeToInclusive<T> { in arbitrary() method
1054 ..=Arbitrary::arbitrary(g) in arbitrary()
1061 impl Arbitrary for RangeFull {
1062 fn arbitrary(_: &mut Gen) -> RangeFull { in arbitrary() method
1067 impl Arbitrary for Duration {
1068 fn arbitrary(gen: &mut Gen) -> Self { in arbitrary() method
1083 impl<A: Arbitrary> Arbitrary for Box<A> {
1084 fn arbitrary(g: &mut Gen) -> Box<A> { in arbitrary() method
1085 Box::new(A::arbitrary(g)) in arbitrary()
1093 impl<A: Arbitrary + Sync> Arbitrary for Arc<A> {
1094 fn arbitrary(g: &mut Gen) -> Arc<A> { in arbitrary() method
1095 Arc::new(A::arbitrary(g)) in arbitrary()
1103 impl Arbitrary for SystemTime {
1104 fn arbitrary(gen: &mut Gen) -> Self { in arbitrary() method
1105 let after_epoch = bool::arbitrary(gen); in arbitrary()
1106 let duration = Duration::arbitrary(gen); in arbitrary()
1137 use super::{Arbitrary, Gen};
1153 "Arbitrary does not generate all problematic values");
1157 // Arbitrary must return some value in each chunk
1170 "Arbitrary doesn't generate numbers in {}..={}", low, high)
1191 "Arbitrary does not generate the problematic value NaN"
1195 "Arbitrary does not generate the problematic value {}",
1200 // Arbitrary must return some value in each chunk
1210 "Arbitrary doesn't generate numbers in {:e}..={:e}",
1223 fn arby<A: Arbitrary>() -> A { in arby()
1224 Arbitrary::arbitrary(&mut Gen::new(5)) in arby()
1537 fn eq<A: Arbitrary + Eq + Debug + Hash>(s: A, v: Vec<A>) { in eq()
1541 fn shrunk<A: Arbitrary + Eq + Hash>(s: A) -> HashSet<A> { in shrunk()
1548 fn ordered_eq<A: Arbitrary + Eq + Debug>(s: A, v: Vec<A>) { in ordered_eq()