diff --git a/src/oned/telepen_common.rs b/src/oned/telepen_common.rs index bd5ac4a..79c5541 100644 --- a/src/oned/telepen_common.rs +++ b/src/oned/telepen_common.rs @@ -26,10 +26,10 @@ pub mod TelepenCommon { let temp = contents.chars().nth(i).unwrap() as u32; if temp >= 27 { - number.push_str(&(temp - 27).to_string()); + number.push_str(&format!("{:0>2}", (temp - 27))); } else { - number.push_str(&(temp - 17).to_string()); + number.push_str(&format!("{:0>2}", (temp - 17))); } } diff --git a/test_resources/blackbox/telepen-2/02.png b/test_resources/blackbox/telepen-2/02.png new file mode 100644 index 0000000..7cadeba Binary files /dev/null and b/test_resources/blackbox/telepen-2/02.png differ diff --git a/test_resources/blackbox/telepen-2/02.txt b/test_resources/blackbox/telepen-2/02.txt new file mode 100644 index 0000000..8070467 --- /dev/null +++ b/test_resources/blackbox/telepen-2/02.txt @@ -0,0 +1 @@ +11058474 \ No newline at end of file diff --git a/test_resources/blackbox/telepen-2/03.png b/test_resources/blackbox/telepen-2/03.png new file mode 100644 index 0000000..43c12d3 Binary files /dev/null and b/test_resources/blackbox/telepen-2/03.png differ diff --git a/test_resources/blackbox/telepen-2/03.txt b/test_resources/blackbox/telepen-2/03.txt new file mode 100644 index 0000000..592f76f --- /dev/null +++ b/test_resources/blackbox/telepen-2/03.txt @@ -0,0 +1 @@ +10398404 \ No newline at end of file diff --git a/test_resources/blackbox/telepen-2/04.png b/test_resources/blackbox/telepen-2/04.png new file mode 100644 index 0000000..1d1c385 Binary files /dev/null and b/test_resources/blackbox/telepen-2/04.png differ diff --git a/test_resources/blackbox/telepen-2/04.txt b/test_resources/blackbox/telepen-2/04.txt new file mode 100644 index 0000000..3a69469 --- /dev/null +++ b/test_resources/blackbox/telepen-2/04.txt @@ -0,0 +1 @@ +10483931 \ No newline at end of file diff --git a/test_resources/blackbox/telepen-2/05.png b/test_resources/blackbox/telepen-2/05.png new file mode 100644 index 0000000..770815e Binary files /dev/null and b/test_resources/blackbox/telepen-2/05.png differ diff --git a/test_resources/blackbox/telepen-2/05.txt b/test_resources/blackbox/telepen-2/05.txt new file mode 100644 index 0000000..c03f14f --- /dev/null +++ b/test_resources/blackbox/telepen-2/05.txt @@ -0,0 +1 @@ +11193263 \ No newline at end of file diff --git a/test_resources/blackbox/telepen-2/06.png b/test_resources/blackbox/telepen-2/06.png new file mode 100644 index 0000000..508a1e3 Binary files /dev/null and b/test_resources/blackbox/telepen-2/06.png differ diff --git a/test_resources/blackbox/telepen-2/06.txt b/test_resources/blackbox/telepen-2/06.txt new file mode 100644 index 0000000..db65f54 --- /dev/null +++ b/test_resources/blackbox/telepen-2/06.txt @@ -0,0 +1 @@ +11264314 \ No newline at end of file diff --git a/test_resources/blackbox/telepen-2/07.png b/test_resources/blackbox/telepen-2/07.png new file mode 100644 index 0000000..58a3b17 Binary files /dev/null and b/test_resources/blackbox/telepen-2/07.png differ diff --git a/test_resources/blackbox/telepen-2/07.txt b/test_resources/blackbox/telepen-2/07.txt new file mode 100644 index 0000000..e55cdad --- /dev/null +++ b/test_resources/blackbox/telepen-2/07.txt @@ -0,0 +1 @@ +11188986 \ No newline at end of file diff --git a/tests/telepen_blackbox_1_test_case.rs b/tests/telepen_blackbox_1_test_case.rs index 6591b94..1866f38 100644 --- a/tests/telepen_blackbox_1_test_case.rs +++ b/tests/telepen_blackbox_1_test_case.rs @@ -45,7 +45,7 @@ fn telepen_numeric_test_case() { BarcodeFormat::TELEPEN, ); - tester.add_test_complex(1, 1, 0, 0, 0.0); + tester.add_test_complex(7, 1, 0, 0, 0.0); tester.add_hint(rxing::DecodeHintType::TELEPEN_AS_NUMERIC, rxing::DecodeHintValue::TelepenAsNumeric(true)); tester.ignore_pure = true; @@ -68,14 +68,22 @@ fn telepen_checksum_test2() { #[test] fn telepen_alpha_to_numeric_test() { - let ascii = "'=Siu"; - let result = TelepenCommon::ascii_to_numeric(ascii); + let mut ascii = "'=Siu"; + let mut result = TelepenCommon::ascii_to_numeric(ascii); assert_eq!("1234567890", result); + + ascii = "& oe"; + result = TelepenCommon::ascii_to_numeric(ascii); + assert_eq!("11058474", result); } #[test] fn telepen_numeric_to_ascii_test() { - let numeric = "1234567890"; - let result = TelepenCommon::numeric_to_ascii(numeric).unwrap(); + let mut numeric = "1234567890"; + let mut result = TelepenCommon::numeric_to_ascii(numeric).unwrap(); assert_eq!("'=Siu", result); -} \ No newline at end of file + + numeric = "11058474"; + result = TelepenCommon::numeric_to_ascii(numeric).unwrap(); + assert_eq!("& oe", result); +}