public void test_issue_599() { var codewords = new[] { 48, 901, 56, 141, 627, 856, 330, 69, 244, 900, 852, 169, 843, 895, 852, 895, 913, 154, 845, 778, 387, 89, 869, 901, 219, 474, 543, 650, 169, 201, 9, 160, 35, 70, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 769, 843, 591, 910, 605, 206, 706, 917, 371, 469, 79, 718, 47, 777, 249, 262, 193, 620, 597, 477, 450, 806, 908, 309, 153, 871, 686 , 838, 185, 674, 68, 679, 691, 794, 497, 479, 234, 250, 496, 43, 347, 582, 882, 536, 322, 317, 273, 194, 917, 237, 420, 859, 340, 115, 222, 808, 866, 836, 417, 121, 833, 459, 64, 159 }; var expectedResultBytes = new byte[] { 0x21, 0x82, 0x9f, 0x09, 0x21, 0x1a, 0x45, 0xf4, 0x09, 0x35, 0x2f, 0x44, 0x3f, 0x09, 0x3f, 0x9a, 0x46, 0x5a, 0x09, 0x63, 0x27, 0x82, 0xff, 0x09, 0x6d, 0x15, 0x41, 0xc9, 0x09, 0xa0, 0x23, 0x46 }; #if !SILVERLIGHT var expectedResult = Encoding.UTF7.GetString(expectedResultBytes); #else var expectedResult = Encoding.GetEncoding("UTF-7").GetString(expectedResultBytes, 0, expectedResultBytes.Length); #endif var result = DecodedBitStreamParser.decode(codewords); Assert.AreEqual(expectedResult, result.Text); }
public void testSampleWithNoDataNoMacro() { int[] sampleCodes = { 3, 899, 899, 0 }; Assert.IsNull(DecodedBitStreamParser.decode(sampleCodes, "0")); }
public void testAsciiDoubleDigitDecode() { // ASCII double digit (00 - 99) Numeric Value + 130 byte[] bytes = { 130, (1 + 130), (98 + 130), (99 + 130) }; String decodedString = DecodedBitStreamParser.decode(bytes).Text; Assert.AreEqual("00019899", decodedString); }
public void testAsciiStandardDecode() { // ASCII characters 0-127 are encoded as the value + 1 byte[] bytes = { ('a' + 1), ('b' + 1), ('c' + 1), ('A' + 1), ('B' + 1), ('C' + 1) }; String decodedString = DecodedBitStreamParser.decode(bytes).Text; Assert.AreEqual("abcABC", decodedString); }
public void testHanzi() { BitSourceBuilder builder = new BitSourceBuilder(); builder.write(0x0D, 4); // Hanzi mode builder.write(0x01, 4); // Subset 1 = GB2312 encoding builder.write(0x01, 8); // 1 characters builder.write(0x03C1, 13); String result = DecodedBitStreamParser.decode(builder.toByteArray(), Version.getVersionForNumber(1), null, null).Text; Assert.AreEqual("\u963f", result); }
public void testHanziLevel1() { BitSourceBuilder builder = new BitSourceBuilder(); builder.write(0x0D, 4); // Hanzi mode builder.write(0x01, 4); // Subset 1 = GB2312 encoding builder.write(0x01, 8); // 1 characters // A5A2 (U+30A2) => A5A2 - A1A1 = 401, 4*60 + 01 = 0181 builder.write(0x0181, 13); String result = DecodedBitStreamParser.decode(builder.toByteArray(), Version.getVersionForNumber(1), null, null).Text; Assert.That(result, Is.EqualTo("\u30a2")); }
public void testSimpleByteMode() { BitSourceBuilder builder = new BitSourceBuilder(); builder.write(0x04, 4); // Byte mode builder.write(0x03, 8); // 3 bytes builder.write(0xF1, 8); builder.write(0xF2, 8); builder.write(0xF3, 8); String result = DecodedBitStreamParser.decode(builder.toByteArray(), Version.getVersionForNumber(1), null, null).Text; Assert.AreEqual("\u00f1\u00f2\u00f3", result); }
public void testSimpleSJIS() { BitSourceBuilder builder = new BitSourceBuilder(); builder.write(0x04, 4); // Byte mode builder.write(0x04, 8); // 4 bytes builder.write(0xA1, 8); builder.write(0xA2, 8); builder.write(0xA3, 8); builder.write(0xD0, 8); String result = DecodedBitStreamParser.decode(builder.toByteArray(), Version.getVersionForNumber(1), null, null).Text; Assert.AreEqual("\uff61\uff62\uff63\uff90", result); }
public void testECI() { BitSourceBuilder builder = new BitSourceBuilder(); builder.write(0x07, 4); // ECI mode builder.write(0x02, 8); // ECI 2 = CP437 encoding builder.write(0x04, 4); // Byte mode builder.write(0x03, 8); // 3 bytes builder.write(0xA1, 8); builder.write(0xA2, 8); builder.write(0xA3, 8); String result = DecodedBitStreamParser.decode(builder.toByteArray(), Version.getVersionForNumber(1), null, null).Text; Assert.AreEqual("\u00ed\u00f3\u00fa", result); }
public void testStandardSample3() { PDF417ResultMetadata resultMetadata = new PDF417ResultMetadata(); int[] sampleCodes = { 7, 928, 111, 100, 100, 200, 300, 0 }; // Final dummy ECC codeword required to avoid ArrayIndexOutOfBounds DecodedBitStreamParser.decodeMacroBlock(sampleCodes, 2, resultMetadata); Assert.AreEqual(0, resultMetadata.SegmentIndex); Assert.AreEqual("100200300", resultMetadata.FileId); Assert.False(resultMetadata.IsLastSegment); Assert.AreEqual(-1, resultMetadata.SegmentCount); Assert.IsNull(resultMetadata.Addressee); Assert.IsNull(resultMetadata.Sender); Assert.IsNull(resultMetadata.OptionalData); // Check that symbol containing no data except Macro is accepted (see note in Annex H.2) DecoderResult decoderResult = DecodedBitStreamParser.decode(sampleCodes, "0"); Assert.AreEqual("", decoderResult.Text); Assert.IsNotNull(decoderResult.Other); }