use std::fmt;
use arrayvec::Array;
use super::DenseVector;
impl<T, A> fmt::Debug for DenseVector<A>
where
T: fmt::Debug,
A: Array<Item = T>,
{
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let _ = write!(f, "[");
for (index, item) in self.components.iter().enumerate() {
try! {
if index > 0 { write!(f, ", {:?}", item) }
else { write!(f, "{:?}", item) }
}
}
let _ = write!(f, "]");
Ok(())
}
}
#[cfg(test)]
mod test {
use super::*;
use expectest::prelude::*;
#[test]
fn debug() {
let vector = DenseVector::from([0.0, 0.25, 0.5, 0.75, 1.0]);
let subject = format!("{:?}", vector);
let expected = "[0.0, 0.25, 0.5, 0.75, 1.0]";
expect!(subject).to(be_equal_to(expected));
}
}