round trip test

This commit is contained in:
Robert Wassens committed 2020-12-06 23:34:24 +01:00
1 parent 7da8f01f75
commit 76173069a3
1 file changed
+23
+23
View File
@@ -365,6 +365,7 @@ fn test_multipage_image() {
/// verify rows per strip setting
fn test_rows_per_strip() {
let mut file = Cursor::new(Vec::new());
{
let mut img_encoder = TiffEncoder::new(&mut file).unwrap();
let mut image = img_encoder.new_image::<colortype::Gray8>(100, 100).unwrap();
@@ -375,4 +376,26 @@ fn test_rows_per_strip() {
let img2: Vec<u8> = vec![0; 2 * 100];
image.write_strip(&img2[..]).unwrap();
assert!(image.rows_per_strip(5).is_err());
for i in 1..50 {
let img2: Vec<u8> = vec![i; 2 * 100];
image.write_strip(&img2[..]).unwrap();
}
assert!(image.write_strip(&img2[..]).is_err());
}
file.seek(SeekFrom::Start(0)).unwrap();
{
let mut decoder = Decoder::new(&mut file).unwrap();
assert_eq!(decoder.get_tag_u64(Tag::RowsPerStrip).unwrap(), 2);
assert_eq!(decoder.strip_count().unwrap(), 50);
for i in 0..50 {
let img2 = [i; 2 * 100];
if let DecodingResult::U8(data) = decoder.read_strip().unwrap() {
assert_eq!(&img2[..], &data[..]);
} else {
assert!(false);
}
}
}
}