use rstest::rstest;
#[rstest]
fn with_bool_vector_and_closure() {
use csvbinmatrix::prelude::{
BoolVecDimensionFilter, CSVBinaryMatrix, ClosureDimensionFilter, DimensionFilter,
};
let matrix = CSVBinaryMatrix::try_from(&[[0, 0, 0], [0, 0, 1], [0, 1, 1], [1, 1, 1]]).unwrap();
let row_filter =
match BoolVecDimensionFilter::new(vec![true, false, true, true], matrix.number_of_rows()) {
Ok(filter) => filter,
Err(err) => panic!("[ERROR] {err}"),
};
let column_filter = ClosureDimensionFilter::new(|j| j != 0);
assert!(row_filter.accepts(0));
assert!(!column_filter.accepts(0));
let boolvec_row = row_filter.into_boolean_vector();
println!("Boolean vector for the rows: {boolvec_row:?}");
}