X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=core%2Ftest%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fcommon%2Freedsolomon%2FReedSolomonEncoderQRCodeTestCase.java;h=e2ad2b83b2e100f2c1335822b73515a5ef388fb9;hb=a33ca5ee256eb923ea8d790861adf11c78cbe5a8;hp=0cdba3f688f40efbc5dceba6475990d4fe207304;hpb=cccfe6c599faa3e1bea1999754627ad7635640be;p=zxing.git diff --git a/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoderQRCodeTestCase.java b/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoderQRCodeTestCase.java index 0cdba3f6..e2ad2b83 100644 --- a/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoderQRCodeTestCase.java +++ b/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoderQRCodeTestCase.java @@ -16,6 +16,8 @@ package com.google.zxing.common.reedsolomon; +import java.util.Random; + /** * @author srowen@google.com (Sean Owen) */ @@ -34,6 +36,26 @@ public final class ReedSolomonEncoderQRCodeTestCase extends AbstractReedSolomonT doTestQRCodeEncoding(dataBytes, expectedECBytes); } + public void testQRCodeVersusDecoder() throws Exception { + Random random = getRandom(); + ReedSolomonEncoder encoder = new ReedSolomonEncoder(GF256.QR_CODE_FIELD); + ReedSolomonDecoder decoder = new ReedSolomonDecoder(GF256.QR_CODE_FIELD); + for (int i = 0; i < 100; i++) { + int size = random.nextInt(1000); + int[] toEncode = new int[size]; + int ecBytes = random.nextInt(2 * (1 + size / 8)); + int dataBytes = size - ecBytes; + for (int j = 0; j < dataBytes; j++) { + toEncode[j] = random.nextInt(256); + } + int[] original = new int[dataBytes]; + System.arraycopy(toEncode, 0, original, 0, dataBytes); + encoder.encode(toEncode, ecBytes); + decoder.decode(toEncode, ecBytes); + assertArraysEqual(original, 0, toEncode, 0, dataBytes); + } + } + // Need more tests I am sure }