use malachite_base::num::basic::unsigneds::PrimitiveUnsigned;
use malachite_base::test_util::generators::{unsigned_vec_gen, unsigned_vector_gen};
use malachite_base::unsigned_vector::UnsignedVector;
use malachite_base::vector::Vector;
#[test]
fn test_from_iterator() {
let v: UnsignedVector<u8> = (1..=3).collect();
assert_eq!(v.to_string(), "(1, 2, 3)");
let v: UnsignedVector<u8> = core::iter::empty().collect();
assert_eq!(v.to_string(), "()");
}
fn from_iterator_properties_helper<T: PrimitiveUnsigned>() {
unsigned_vec_gen::<T>().test_properties(|xs| {
let v: UnsignedVector<T> = xs.iter().copied().collect();
assert_eq!(v, UnsignedVector::from_owned_elements(xs.clone()));
assert_eq!(v.elements, xs);
});
}
#[test]
fn from_iterator_properties() {
apply_fn_to_unsigneds!(from_iterator_properties_helper);
unsigned_vector_gen().test_properties(|v| {
assert_eq!(
v.elements.iter().copied().collect::<UnsignedVector<u64>>(),
v
);
});
}