Added code for the Data Matrix decoder.
[zxing.git] / core / test / src / com / google / zxing / datamatrix / decoder / DecodedBitStreamParserTestCase.java
1 /*
2  * Copyright 2008 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package com.google.zxing.datamatrix.decoder;
18
19 import junit.framework.TestCase;
20
21 import com.google.zxing.ReaderException;
22
23 /**
24  * @author bbrown@google.com (Brian Brown)
25  */
26 public final class DecodedBitStreamParserTestCase extends TestCase{
27
28   public void testAsciiStandardDecode() {
29     // ASCII characters 0-127 are encoded as the value + 1
30     byte[] bytes = new byte[]{(byte) ('a' + 1), (byte) ('b' + 1), (byte) ('c' + 1),
31                               (byte) ('A' + 1), (byte) ('B' + 1), (byte) ('C' + 1)};
32     String decodedString = "";
33     try {
34       decodedString = DecodedBitStreamParser.decode(bytes);
35     } catch (ReaderException readerException) {
36       // TODO(bbrown): Throw this to junit?
37     }
38     
39     assertEquals("abcABC", decodedString);
40   }
41   
42   public void testAsciiDoubleDigitDecode() throws ReaderException{
43     // ASCII double digit (00 - 99) Numeric Value + 130
44     byte[] bytes = new byte[]{(byte) (00 + 130), (byte) (01 + 130),
45                               (byte) (98 + 130), (byte) (99 + 130)};
46     String decodedString = "";
47     decodedString = DecodedBitStreamParser.decode(bytes);
48
49     assertEquals("00019899", decodedString);
50   }
51   
52   // TODO(bbrown): Add test cases for each encoding type
53   // TODO(bbrown): Add test cases for switching encoding types
54 }