use itertools::Itertools;
use malachite_base::strings::typst::ToTypst;
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_to_typst_string() {
let test = |xs: &[u32], out: &str| {
assert_eq!(UnsignedVector::from_elements(xs).to_typst_string(), out);
};
test(&[], "()");
test(&[0], "(0)");
test(&[1, 2, 3], "(1, 2, 3)");
test(&[u32::MAX], "(4294967295)");
}
#[test]
fn to_typst_string_properties() {
unsigned_vector_gen().test_properties(|v| {
assert_eq!(v.to_typst_string(), v.to_string());
});
unsigned_vec_gen::<u8>().test_properties(|xs| {
let v = UnsignedVector {
elements: xs.clone(),
};
assert_eq!(
v.to_typst_string(),
format!("({})", xs.iter().map(u8::to_typst_string).join(", "))
);
});
}