| /* |
| * Copyright 2012 ZXing authors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #import "RSSExpandedStackedInternalTestCase.h" |
| #import "TestCaseUtil.h" |
| |
| @implementation RSSExpandedStackedInternalTestCase |
| |
| - (void)testDecodingRowByRow { |
| ZXRSSExpandedReader *rssExpandedReader = [[ZXRSSExpandedReader alloc] init]; |
| |
| ZXBinaryBitmap *binaryMap = [TestCaseUtil binaryBitmap:@"Resources/blackbox/rssexpandedstacked-2/1000.png"]; |
| |
| int firstRowNumber = [binaryMap height] / 3; |
| NSError *error = nil; |
| ZXBitArray *firstRow = [binaryMap blackRow:firstRowNumber row:nil error:&error]; |
| STAssertNil(error, [error description]); |
| |
| if ([rssExpandedReader decodeRow2pairs:firstRowNumber row:firstRow]) { |
| STFail(@"Not found error expected"); |
| } |
| |
| STAssertEquals([[rssExpandedReader rows] count], (NSUInteger)1, @"the first row not recognized"); |
| ZXExpandedRow *firstExpandedRow = rssExpandedReader.rows[0]; |
| STAssertEquals(firstExpandedRow.rowNumber, firstRowNumber, @"the first row number doesn't match"); |
| |
| STAssertEquals([firstExpandedRow.pairs count], (NSUInteger)2, @"wrong number if pairs in the first row"); |
| |
| [firstExpandedRow.pairs[1] finderPattern].startEnd[1] = @0; |
| |
| int secondRowNumber = 2 * [binaryMap height] / 3; |
| error = nil; |
| ZXBitArray *secondRow = [binaryMap blackRow:secondRowNumber row:nil error:&error]; |
| STAssertNil(error, [error description]); |
| [secondRow reverse]; |
| |
| NSMutableArray* totalPairs = [rssExpandedReader decodeRow2pairs:secondRowNumber row:secondRow]; |
| error = nil; |
| |
| ZXResult *result = [rssExpandedReader constructResult:totalPairs error:&error]; |
| STAssertNil(error, [error description]); |
| STAssertEqualObjects(result.text, @"(01)98898765432106(3202)012345(15)991231", @"wrong result"); |
| } |
| |
| - (void)testCompleteDecoding { |
| ZXRSSExpandedReader *rssExpandedReader = [[ZXRSSExpandedReader alloc] init]; |
| |
| ZXBinaryBitmap *binaryMap = [TestCaseUtil binaryBitmap:@"Resources/blackbox/rssexpandedstacked-2/1000.png"]; |
| |
| NSError *error = nil; |
| ZXResult *result = [rssExpandedReader decode:binaryMap error:&error]; |
| STAssertNil(error, [error description]); |
| STAssertEqualObjects(result.text, @"(01)98898765432106(3202)012345(15)991231", @"wrong result"); |
| } |
| |
| @end |