cargo fmt

This commit is contained in:
Henry Schimke
2022-12-16 16:52:24 -06:00
parent 0fbd3baef9
commit afc3ee8fa1
7 changed files with 169 additions and 143 deletions

View File

@@ -36,7 +36,7 @@ impl ExpandedRow {
}
#[cfg(test)]
pub(crate) fn getPairsMut(&mut self) -> &mut [ExpandedPair]{
pub(crate) fn getPairsMut(&mut self) -> &mut [ExpandedPair] {
&mut self.pairs
}

View File

@@ -31,4 +31,4 @@ mod rss_expanded_image_2_string_test_case;
mod rss_expanded_stacked_internal_test_case;
#[cfg(test)]
mod test_case_util;
mod test_case_util;

View File

@@ -24,168 +24,179 @@
* http://www.piramidepse.com/
*/
use std::{rc::Rc, collections::HashMap};
use crate::{BinaryBitmap, common::{GlobalHistogramBinarizer, BitArray}, BufferedImageLuminanceSource, oned::{rss::expanded::RSSExpandedReader, OneDReader}, BarcodeFormat};
use std::{collections::HashMap, rc::Rc};
use crate::{
common::{BitArray, GlobalHistogramBinarizer},
oned::{rss::expanded::RSSExpandedReader, OneDReader},
BarcodeFormat, BinaryBitmap, BufferedImageLuminanceSource,
};
/**
* @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)
* @author Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)
*/
#[test]
fn testDecodeRow2string1() {
#[test]
fn testDecodeRow2string1() {
assertCorrectImage2string("1.png", "(11)100224(17)110224(3102)000100");
}
}
#[test]
fn testDecodeRow2string2() {
#[test]
fn testDecodeRow2string2() {
assertCorrectImage2string("2.png", "(01)90012345678908(3103)001750");
}
}
#[test]
fn testDecodeRow2string3() {
#[test]
fn testDecodeRow2string3() {
assertCorrectImage2string("3.png", "(10)12A");
}
}
#[test]
fn testDecodeRow2string4() {
#[test]
fn testDecodeRow2string4() {
assertCorrectImage2string("4.png", "(01)98898765432106(3202)012345(15)991231");
}
}
#[test]
fn testDecodeRow2string5() {
#[test]
fn testDecodeRow2string5() {
assertCorrectImage2string("5.png", "(01)90614141000015(3202)000150");
}
}
#[test]
fn testDecodeRow2string7() {
#[test]
fn testDecodeRow2string7() {
assertCorrectImage2string("7.png", "(10)567(11)010101");
}
}
#[test]
fn testDecodeRow2string10() {
let expected = "(01)98898765432106(15)991231(3103)001750(10)12A(422)123(21)123456(423)012345678901";
#[test]
fn testDecodeRow2string10() {
let expected =
"(01)98898765432106(15)991231(3103)001750(10)12A(422)123(21)123456(423)012345678901";
assertCorrectImage2string("10.png", expected);
}
}
#[test]
fn testDecodeRow2string11() {
assertCorrectImage2string("11.png", "(01)98898765432106(15)991231(3103)001750(10)12A(422)123(21)123456");
}
#[test]
fn testDecodeRow2string11() {
assertCorrectImage2string(
"11.png",
"(01)98898765432106(15)991231(3103)001750(10)12A(422)123(21)123456",
);
}
#[test]
fn testDecodeRow2string12() {
#[test]
fn testDecodeRow2string12() {
assertCorrectImage2string("12.png", "(01)98898765432106(3103)001750");
}
}
#[test]
fn testDecodeRow2string13() {
#[test]
fn testDecodeRow2string13() {
assertCorrectImage2string("13.png", "(01)90012345678908(3922)795");
}
}
#[test]
fn testDecodeRow2string14() {
#[test]
fn testDecodeRow2string14() {
assertCorrectImage2string("14.png", "(01)90012345678908(3932)0401234");
}
}
#[test]
fn testDecodeRow2string15() {
#[test]
fn testDecodeRow2string15() {
assertCorrectImage2string("15.png", "(01)90012345678908(3102)001750(11)100312");
}
}
#[test]
fn testDecodeRow2string16() {
#[test]
fn testDecodeRow2string16() {
assertCorrectImage2string("16.png", "(01)90012345678908(3202)001750(11)100312");
}
}
#[test]
fn testDecodeRow2string17() {
#[test]
fn testDecodeRow2string17() {
assertCorrectImage2string("17.png", "(01)90012345678908(3102)001750(13)100312");
}
}
#[test]
fn testDecodeRow2string18() {
#[test]
fn testDecodeRow2string18() {
assertCorrectImage2string("18.png", "(01)90012345678908(3202)001750(13)100312");
}
}
#[test]
fn testDecodeRow2string19() {
#[test]
fn testDecodeRow2string19() {
assertCorrectImage2string("19.png", "(01)90012345678908(3102)001750(15)100312");
}
}
#[test]
fn testDecodeRow2string20() {
#[test]
fn testDecodeRow2string20() {
assertCorrectImage2string("20.png", "(01)90012345678908(3202)001750(15)100312");
}
}
#[test]
fn testDecodeRow2string21() {
#[test]
fn testDecodeRow2string21() {
assertCorrectImage2string("21.png", "(01)90012345678908(3102)001750(17)100312");
}
}
#[test]
fn testDecodeRow2string22() {
#[test]
fn testDecodeRow2string22() {
assertCorrectImage2string("22.png", "(01)90012345678908(3202)001750(17)100312");
}
}
#[test]
fn testDecodeRow2string25() {
#[test]
fn testDecodeRow2string25() {
assertCorrectImage2string("25.png", "(10)123");
}
}
#[test]
fn testDecodeRow2string26() {
#[test]
fn testDecodeRow2string26() {
assertCorrectImage2string("26.png", "(10)5678(11)010101");
}
}
#[test]
fn testDecodeRow2string27() {
#[test]
fn testDecodeRow2string27() {
assertCorrectImage2string("27.png", "(10)1098-1234");
}
}
#[test]
fn testDecodeRow2string28() {
#[test]
fn testDecodeRow2string28() {
assertCorrectImage2string("28.png", "(10)1098/1234");
}
}
#[test]
fn testDecodeRow2string29() {
#[test]
fn testDecodeRow2string29() {
assertCorrectImage2string("29.png", "(10)1098.1234");
}
}
#[test]
fn testDecodeRow2string30() {
#[test]
fn testDecodeRow2string30() {
assertCorrectImage2string("30.png", "(10)1098*1234");
}
}
#[test]
fn testDecodeRow2string31() {
#[test]
fn testDecodeRow2string31() {
assertCorrectImage2string("31.png", "(10)1098,1234");
}
}
#[test]
fn testDecodeRow2string32() {
assertCorrectImage2string("32.png", "(15)991231(3103)001750(10)12A(422)123(21)123456(423)0123456789012");
}
#[test]
fn testDecodeRow2string32() {
assertCorrectImage2string(
"32.png",
"(15)991231(3103)001750(10)12A(422)123(21)123456(423)0123456789012",
);
}
fn assertCorrectImage2string( fileName:&str, expected:&str)
{
let path = format!("test_resources/blackbox/rssexpanded-1/{}",fileName);
fn assertCorrectImage2string(fileName: &str, expected: &str) {
let path = format!("test_resources/blackbox/rssexpanded-1/{}", fileName);
let image = image::open(path).expect("load image");
let binaryMap =
BinaryBitmap::new(Rc::new(GlobalHistogramBinarizer::new(Box::new(BufferedImageLuminanceSource::new(image)))));
let binaryMap = BinaryBitmap::new(Rc::new(GlobalHistogramBinarizer::new(Box::new(
BufferedImageLuminanceSource::new(image),
))));
let rowNumber = binaryMap.getHeight() / 2;
let row = binaryMap.getBlackRow(rowNumber, &mut BitArray::new()).expect("get row");
let mut rssExpandedReader = RSSExpandedReader::new();
let result = rssExpandedReader.decodeRow(rowNumber as u32, &row, &HashMap::new()).expect("should decode");
let row = binaryMap
.getBlackRow(rowNumber, &mut BitArray::new())
.expect("get row");
let mut rssExpandedReader = RSSExpandedReader::new();
let result = rssExpandedReader
.decodeRow(rowNumber as u32, &row, &HashMap::new())
.expect("should decode");
assert_eq!(&BarcodeFormat::RSS_EXPANDED, result.getBarcodeFormat());
assert_eq!(expected, result.getText());
}
}

View File

@@ -142,9 +142,9 @@ pub struct RSSExpandedReader {
oddCounts: [u32; 4],
evenCounts: [u32; 4],
pub(super) pairs: Vec<ExpandedPair>, //new ArrayList<>(MAX_PAIRS);
pub(super) rows: Vec<ExpandedRow>, // new ArrayList<>();
startEnd: [u32; 2], // new int[2];
pub(super) pairs: Vec<ExpandedPair>, //new ArrayList<>(MAX_PAIRS);
pub(super) rows: Vec<ExpandedRow>, // new ArrayList<>();
startEnd: [u32; 2], // new int[2];
startFromEven: bool,
}
impl AbstractRSSReaderTrait for RSSExpandedReader {}
@@ -534,8 +534,8 @@ impl RSSExpandedReader {
&mut self.rows
}
#[cfg(test)]
pub(crate) fn getRows(& self) -> & [ExpandedRow] {
& self.rows
pub(crate) fn getRows(&self) -> &[ExpandedRow] {
&self.rows
}
// Not private for unit testing

View File

@@ -24,60 +24,75 @@
* http://www.piramidepse.com/
*/
use crate::{Exceptions, common::BitArray, oned::rss::expanded::ExpandedPair, Reader};
use super::{RSSExpandedReader, test_case_util};
use crate::{common::BitArray, oned::rss::expanded::ExpandedPair, Exceptions, Reader};
use super::{test_case_util, RSSExpandedReader};
/**
* Tests {@link RSSExpandedReader} handling of stacked RSS barcodes.
*/
#[test]
fn testDecodingRowByRow() {
let mut rssExpandedReader = RSSExpandedReader::new();
#[test]
fn testDecodingRowByRow() {
let mut rssExpandedReader = RSSExpandedReader::new();
let binaryMap = test_case_util::getBinaryBitmap("1000.png");
let firstRowNumber = binaryMap.getHeight() / 3;
let firstRow = binaryMap.getBlackRow(firstRowNumber, &mut BitArray::new()).expect("get row");
let firstRow = binaryMap
.getBlackRow(firstRowNumber, &mut BitArray::new())
.expect("get row");
// let tester = ;
assert!(|| -> Result<Vec<ExpandedPair>,Exceptions> {
rssExpandedReader.decodeRow2pairs(firstRowNumber as u32, &firstRow)
// fail(NotFoundException.class.getName() + " expected");
}().is_err());
assert!(|| -> Result<Vec<ExpandedPair>, Exceptions> {
rssExpandedReader.decodeRow2pairs(firstRowNumber as u32, &firstRow)
// fail(NotFoundException.class.getName() + " expected");
}()
.is_err());
assert_eq!(1, rssExpandedReader.getRows().len());
let firstExpandedRow = &mut rssExpandedReader.rows[0]; //&mut rssExpandedReader.getRowsMut()[0];//.expect("not None");
assert_eq!(firstRowNumber as u32, firstExpandedRow.getRowNumber());
assert_eq!(2, firstExpandedRow.getPairs().len());
firstExpandedRow.getPairsMut()[1].getFinderPatternMut().as_mut().unwrap().getStartEndMut()[1] = 0;
rssExpandedReader.pairs.last_mut().as_mut().unwrap().getFinderPatternMut().as_mut().unwrap().getStartEndMut()[1] = 0;
firstExpandedRow.getPairsMut()[1]
.getFinderPatternMut()
.as_mut()
.unwrap()
.getStartEndMut()[1] = 0;
rssExpandedReader
.pairs
.last_mut()
.as_mut()
.unwrap()
.getFinderPatternMut()
.as_mut()
.unwrap()
.getStartEndMut()[1] = 0;
let secondRowNumber = 2 * binaryMap.getHeight() / 3;
let mut secondRow = binaryMap.getBlackRow(secondRowNumber, &mut BitArray::new()).expect("get row");
let mut secondRow = binaryMap
.getBlackRow(secondRowNumber, &mut BitArray::new())
.expect("get row");
secondRow.reverse();
let totalPairs = rssExpandedReader.decodeRow2pairs(secondRowNumber as u32, &secondRow).expect("decode pairs");
let totalPairs = rssExpandedReader
.decodeRow2pairs(secondRowNumber as u32, &secondRow)
.expect("decode pairs");
let result = RSSExpandedReader::constructRXingResult(&totalPairs).expect("construct");
assert_eq!("(01)98898765432106(3202)012345(15)991231", result.getText());
}
}
#[test]
fn testCompleteDecode() {
let mut rssExpandedReader = RSSExpandedReader::new();
#[test]
fn testCompleteDecode() {
let mut rssExpandedReader = RSSExpandedReader::new();
let binaryMap = test_case_util::getBinaryBitmap("1000.png");
let result = rssExpandedReader.decode(&binaryMap).expect("decode");
assert_eq!("(01)98898765432106(3202)012345(15)991231", result.getText());
}
}

View File

@@ -28,21 +28,21 @@ use std::rc::Rc;
use image::DynamicImage;
use crate::{BinaryBitmap, common::GlobalHistogramBinarizer, BufferedImageLuminanceSource};
use crate::{common::GlobalHistogramBinarizer, BinaryBitmap, BufferedImageLuminanceSource};
fn getBufferedImage( fileName:&str) -> DynamicImage {
let path = format!("test_resources/blackbox/rssexpandedstacked-2/{}",fileName);
fn getBufferedImage(fileName: &str) -> DynamicImage {
let path = format!("test_resources/blackbox/rssexpandedstacked-2/{}", fileName);
let image = image::open(path).expect("load image");
image
}
}
pub(crate) fn getBinaryBitmap( fileName:&str) -> BinaryBitmap {
pub(crate) fn getBinaryBitmap(fileName: &str) -> BinaryBitmap {
let bufferedImage = getBufferedImage(fileName);
let binaryMap =
BinaryBitmap::new(Rc::new(GlobalHistogramBinarizer::new(Box::new(BufferedImageLuminanceSource::new(bufferedImage)))));
binaryMap
}
let binaryMap = BinaryBitmap::new(Rc::new(GlobalHistogramBinarizer::new(Box::new(
BufferedImageLuminanceSource::new(bufferedImage),
))));
binaryMap
}