blob: 4346cced75f274911cdd65d857562a21cd767ed2 [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 "ZXBitArrayBuilderTest.h"
@implementation ZXBitArrayBuilderTest
- (void)testBuildBitArray1 {
int lengths[2] = {1, 2};
int pairValue1[1] = { 19 };
int pairValue2[2] = { 673, 16 };
int *pairValues[2];
pairValues[0] = pairValue1;
pairValues[1] = pairValue2;
NSString *expected = @" .......X ..XX..X. X.X....X .......X ....";
[self checkBinaryValues:pairValues pairValuesLen:2 lengths:lengths expected:expected];
}
- (void)checkBinaryValues:(int **)pairValues pairValuesLen:(int)pairValuesLen lengths:(int *)lengths expected:(NSString *)expected {
ZXBitArray *binary = [self buildBitArrayPairValues:pairValues pairValuesLen:pairValuesLen lengths:lengths];
STAssertEqualObjects([binary description], expected, @"Expected %@ to equal %@", [binary description], expected);
}
- (ZXBitArray *)buildBitArrayPairValues:(int **)pairValues pairValuesLen:(int)pairValuesLen lengths:(int *)lengths {
NSMutableArray *pairs = [NSMutableArray arrayWithCapacity:2];
for (int i = 0; i < pairValuesLen; ++i) {
int *pair = pairValues[i];
ZXDataCharacter *leftChar;
if (i == 0) {
leftChar = nil;
} else {
leftChar = [[ZXDataCharacter alloc] initWithValue:pair[0] checksumPortion:0];
}
ZXDataCharacter *rightChar;
if (i == 0) {
rightChar = [[ZXDataCharacter alloc] initWithValue:pair[0] checksumPortion:0];
} else if (lengths[i] == 2) {
rightChar = [[ZXDataCharacter alloc] initWithValue:pair[1] checksumPortion:0];
} else {
rightChar = nil;
}
ZXExpandedPair *expandedPair = [[ZXExpandedPair alloc] initWithLeftChar:leftChar rightChar:rightChar finderPattern:nil mayBeLast:YES];
[pairs addObject:expandedPair];
}
return [ZXBitArrayBuilder buildBitArray:pairs];
}
@end