blob: f3a0ad478f90b13901de67749f13c7c48ee7c769 [file] [log] [blame] [edit]
/*
* 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