From e05fae5b6a4174d43e95cdbcd7c05159e66009a0 Mon Sep 17 00:00:00 2001 From: Henry Schimke Date: Fri, 28 Apr 2023 17:12:53 -0500 Subject: [PATCH] datamatrix fails but could be an issue with text --- tests/common/mod.rs | 4 +- ..._multiimage_span.rs => multiimage_span.rs} | 45 +++++++++++++------ tests/cpp_qr_code_blackbox_tests.rs | 2 +- tests/pdf_417_black_box_4_testcase.rs | 2 +- 4 files changed, 35 insertions(+), 18 deletions(-) rename tests/common/{pdf_417_multiimage_span.rs => multiimage_span.rs} (95%) diff --git a/tests/common/mod.rs b/tests/common/mod.rs index a9d2073..4c2bc5f 100644 --- a/tests/common/mod.rs +++ b/tests/common/mod.rs @@ -1,7 +1,7 @@ mod abstract_black_box_test_case; -mod pdf_417_multiimage_span; +mod multiimage_span; mod test_result; pub use abstract_black_box_test_case::*; -pub use pdf_417_multiimage_span::*; +pub use multiimage_span::*; pub use test_result::*; diff --git a/tests/common/pdf_417_multiimage_span.rs b/tests/common/multiimage_span.rs similarity index 95% rename from tests/common/pdf_417_multiimage_span.rs rename to tests/common/multiimage_span.rs index d581770..43b048a 100644 --- a/tests/common/pdf_417_multiimage_span.rs +++ b/tests/common/multiimage_span.rs @@ -37,7 +37,7 @@ use super::TestRXingResult; * @author Sean Owen * @author dswitkin@google.com (Daniel Switkin) */ -pub struct PDF417MultiImageSpanAbstractBlackBoxTestCase { +pub struct MultiImageSpanAbstractBlackBoxTestCase { test_base: Box, barcode_reader: T, expected_format: BarcodeFormat, @@ -45,7 +45,7 @@ pub struct PDF417MultiImageSpanAbstractBlackBoxTestCase, } -impl PDF417MultiImageSpanAbstractBlackBoxTestCase { +impl MultiImageSpanAbstractBlackBoxTestCase { pub fn build_test_base(test_base_path_suffix: &str) -> Box { // A little workaround to prevent aggravation in my IDE let test_base = Path::new(test_base_path_suffix); @@ -198,19 +198,36 @@ impl PDF417MultiImageSpanAbstractBlackBoxTest // results.sort(); let mut result_text = String::new(); //new StringBuilder(); let mut file_id: Option = None; - for result in results { - // for (RXingResult result : results) { - let result_metadata = Self::get_meta(&result); - assert!(result_metadata.is_some(), "resultMetadata"); - if file_id.is_none() { - file_id = Some(result_metadata.as_ref().unwrap().getFileId().to_owned()); + if self.expected_format == BarcodeFormat::PDF_417 { + for result in results { + // for (RXingResult result : results) { + let result_metadata = Self::get_meta(&result); + assert!(result_metadata.is_some(), "resultMetadata"); + if file_id.is_none() { + file_id = + Some(result_metadata.as_ref().unwrap().getFileId().to_owned()); + } + assert_eq!( + file_id, + Some(result_metadata.as_ref().unwrap().getFileId().to_owned()), + "FileId" + ); + result_text.push_str(result.getText()); + } + } else if self.expected_format != BarcodeFormat::PDF_417 { + results.sort_by_key(|r| { + if let Some(RXingResultMetadataValue::StructuredAppendSequence(md)) = r + .getRXingResultMetadata() + .get(&RXingResultMetadataType::STRUCTURED_APPEND_SEQUENCE) + { + *md + } else { + 0 + } + }); + for result in results { + result_text.push_str(result.getText()); } - assert_eq!( - file_id, - Some(result_metadata.as_ref().unwrap().getFileId().to_owned()), - "FileId" - ); - result_text.push_str(result.getText()); } assert_eq!(expected_text, result_text, "ExpectedText"); passed_counts[x] += 1; diff --git a/tests/cpp_qr_code_blackbox_tests.rs b/tests/cpp_qr_code_blackbox_tests.rs index fadf1ad..3964b7c 100644 --- a/tests/cpp_qr_code_blackbox_tests.rs +++ b/tests/cpp_qr_code_blackbox_tests.rs @@ -300,7 +300,7 @@ fn cpp_qrcode_black_box6_test_case() { #[test] fn cpp_qrcode_black_box7_test_case() { - let mut tester = common::PDF417MultiImageSpanAbstractBlackBoxTestCase::new( + let mut tester = common::MultiImageSpanAbstractBlackBoxTestCase::new( "test_resources/blackbox/cpp/qrcode-7", QrReader::default(), rxing::BarcodeFormat::QR_CODE, diff --git a/tests/pdf_417_black_box_4_testcase.rs b/tests/pdf_417_black_box_4_testcase.rs index 3805379..ed45c44 100644 --- a/tests/pdf_417_black_box_4_testcase.rs +++ b/tests/pdf_417_black_box_4_testcase.rs @@ -25,7 +25,7 @@ use rxing::pdf417::PDF417Reader; */ #[test] fn pdf417_black_box4_test_case() { - let mut tester = common::PDF417MultiImageSpanAbstractBlackBoxTestCase::new( + let mut tester = common::MultiImageSpanAbstractBlackBoxTestCase::new( "test_resources/blackbox/pdf417-4", PDF417Reader::default(), rxing::BarcodeFormat::PDF_417,