Struct csv_diff::diff_result::DiffByteRecords [−][src]
pub struct DiffByteRecords(_);
Expand description
Holds all information about the difference between two CSVs, after they have
been compared with CsvByteDiff.diff
.
CSV records that are equal are not stored in this structure.
Also, keep in mind, that differences are stored unordered (with regard to the line in the CSV).
You can use DiffByteRecords.sort_by_line
to sort them in-place.
See the example on CsvByteDiff
for general usage.
Implementations
Sort the underlying DiffByteRecord
s by line.
Note that comparison is done in parallel. Therefore, without calling this method, the resulting DiffByteRecord
s are out of order
after the comparison (with regard to their line in the original CSV).
Return the DiffByteRecord
s as a single slice.
Example
use std::io::Cursor;
use csv_diff::{csv_diff::CsvByteDiff, csv::Csv};
use std::collections::HashSet;
use std::iter::FromIterator;
// some csv data with a header, where the first column is a unique id
let csv_data_left = "id,name,kind\n\
1,lemon,fruit\n\
2,strawberry,fruit";
let csv_data_right = "id,name,kind\n\
1,lemon,fruit\n\
2,strawberry,nut\n\
3,cherry,fruit";
let csv_byte_diff = CsvByteDiff::new()?;
let mut diff_byte_records = csv_byte_diff.diff(
Csv::new(Cursor::new(csv_data_left.as_bytes())),
Csv::new(Cursor::new(csv_data_right.as_bytes())),
)?;
let diff_byte_record_slice = diff_byte_records.as_slice();
assert_eq!(
diff_byte_record_slice.len(),
2
);
Ok(())
Return an iterator over the DiffByteRecord
s.
Trait Implementations
type Item = DiffByteRecord
type Item = DiffByteRecord
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.