This commit is contained in:
Henry Schimke
2022-10-05 08:36:07 -05:00
parent 0bbeca01e2
commit b9383b35f3
3 changed files with 13 additions and 13 deletions

View File

@@ -41,7 +41,7 @@ use crate::{qrcode::decoder::{Version, ErrorCorrectionLevel}, Exceptions};
let version = version.unwrap(); let version = version.unwrap();
assert_eq!(number, version.getVersionNumber()); assert_eq!(number, version.getVersionNumber());
// assertNotNull(version.getAlignmentPatternCenters()); // assertNotNull(version.getAlignmentPatternCenters());
if (number > 1) { if number > 1 {
assert!(version.getAlignmentPatternCenters().len() > 0); assert!(version.getAlignmentPatternCenters().len() > 0);
} }
assert_eq!(dimension, version.getDimensionForVersion()); assert_eq!(dimension, version.getDimensionForVersion());
@@ -49,7 +49,7 @@ use crate::{qrcode::decoder::{Version, ErrorCorrectionLevel}, Exceptions};
let _tmp = version.getECBlocksForLevel(ErrorCorrectionLevel::L); let _tmp = version.getECBlocksForLevel(ErrorCorrectionLevel::L);
let _tmp = version.getECBlocksForLevel(ErrorCorrectionLevel::M); let _tmp = version.getECBlocksForLevel(ErrorCorrectionLevel::M);
let _tmp = version.getECBlocksForLevel(ErrorCorrectionLevel::Q); let _tmp = version.getECBlocksForLevel(ErrorCorrectionLevel::Q);
let _tmp = version.buildFunctionPattern(); assert!(version.buildFunctionPattern().is_ok());
// assertNotNull(version.getECBlocksForLevel(ErrorCorrectionLevel::H)); // assertNotNull(version.getECBlocksForLevel(ErrorCorrectionLevel::H));
// assertNotNull(version.getECBlocksForLevel(ErrorCorrectionLevel::L)); // assertNotNull(version.getECBlocksForLevel(ErrorCorrectionLevel::L));

View File

@@ -155,16 +155,16 @@ impl Version {
/** /**
* See ISO 18004:2006 Annex E * See ISO 18004:2006 Annex E
*/ */
pub fn buildFunctionPattern(&self) -> BitMatrix { pub fn buildFunctionPattern(&self) -> Result<BitMatrix,Exceptions> {
let dimension = self.getDimensionForVersion(); let dimension = self.getDimensionForVersion();
let mut bitMatrix = BitMatrix::with_single_dimension(dimension); let mut bitMatrix = BitMatrix::with_single_dimension(dimension);
// Top left finder pattern + separator + format // Top left finder pattern + separator + format
bitMatrix.setRegion(0, 0, 9, 9); bitMatrix.setRegion(0, 0, 9, 9)?;
// Top right finder pattern + separator + format // Top right finder pattern + separator + format
bitMatrix.setRegion(dimension - 8, 0, 8, 9); bitMatrix.setRegion(dimension - 8, 0, 8, 9)?;
// Bottom left finder pattern + separator + format // Bottom left finder pattern + separator + format
bitMatrix.setRegion(0, dimension - 8, 9, 8); bitMatrix.setRegion(0, dimension - 8, 9, 8)?;
// Alignment patterns // Alignment patterns
let max = self.alignmentPatternCenters.len(); let max = self.alignmentPatternCenters.len();
@@ -174,25 +174,25 @@ impl Version {
for y in 0..max { for y in 0..max {
// for (int y = 0; y < max; y++) { // for (int y = 0; y < max; y++) {
if (x != 0 || (y != 0 && y != max - 1)) && (x != max - 1 || y != 0) { if (x != 0 || (y != 0 && y != max - 1)) && (x != max - 1 || y != 0) {
bitMatrix.setRegion(self.alignmentPatternCenters[y] - 2, i, 5, 5); bitMatrix.setRegion(self.alignmentPatternCenters[y] - 2, i, 5, 5)?;
} }
// else no o alignment patterns near the three finder patterns // else no o alignment patterns near the three finder patterns
} }
} }
// Vertical timing pattern // Vertical timing pattern
bitMatrix.setRegion(6, 9, 1, dimension - 17); bitMatrix.setRegion(6, 9, 1, dimension - 17)?;
// Horizontal timing pattern // Horizontal timing pattern
bitMatrix.setRegion(9, 6, dimension - 17, 1); bitMatrix.setRegion(9, 6, dimension - 17, 1)?;
if self.versionNumber > 6 { if self.versionNumber > 6 {
// Version info, top right // Version info, top right
bitMatrix.setRegion(dimension - 11, 0, 3, 6); bitMatrix.setRegion(dimension - 11, 0, 3, 6)?;
// Version info, bottom left // Version info, bottom left
bitMatrix.setRegion(0, dimension - 11, 6, 3); bitMatrix.setRegion(0, dimension - 11, 6, 3)?;
} }
bitMatrix Ok(bitMatrix)
} }
/** /**

View File

@@ -403,7 +403,7 @@ fn testGS1ModeHeaderWithECI() {
#[test] #[test]
fn testAppendModeInfo() { fn testAppendModeInfo() {
let mut bits = BitArray::new(); let mut bits = BitArray::new();
encoder::appendModeInfo(Mode::NUMERIC, &mut bits); assert!(encoder::appendModeInfo(Mode::NUMERIC, &mut bits).is_ok());
assert_eq!(" ...X", bits.to_string()); assert_eq!(" ...X", bits.to_string());
} }