blob: 2f0cc9f37291613d535a7749d0e2f2d63310d5a3 [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 "RSSExpandedImage2resultTestCase.h"
@implementation RSSExpandedImage2resultTestCase
- (void)testDecodeRow2result_2 {
// (01)90012345678908(3103)001750
NSString *path = @"Resources/blackbox/rssexpanded-1/2.png";
ZXExpandedProductParsedResult *expected =
[ZXExpandedProductParsedResult expandedProductParsedResultWithRawText:@"(01)90012345678908(3103)001750" productID:@"90012345678908" sscc:nil lotNumber:nil productionDate:nil
packagingDate:nil bestBeforeDate:nil expirationDate:nil weight:@"001750"
weightType:ZX_KILOGRAM weightIncrement:@"3" price:nil priceIncrement:nil
priceCurrency:nil uncommonAIs:[NSMutableDictionary dictionary]];
[self assertCorrectImage2result:path expected:expected];
}
- (void)assertCorrectImage2result:(NSString *)path expected:(ZXExpandedProductParsedResult *)expected {
ZXImage *image = [[ZXImage alloc] initWithURL:[[NSBundle bundleForClass:[self class]] URLForResource:path withExtension:nil]];
ZXBinaryBitmap *binaryMap = [[ZXBinaryBitmap alloc] initWithBinarizer:[[ZXGlobalHistogramBinarizer alloc] initWithSource:[[ZXCGImageLuminanceSource alloc] initWithZXImage:image]]];
int rowNumber = binaryMap.height / 2;
ZXBitArray *row = [binaryMap blackRow:rowNumber row:nil error:nil];
NSError *error;
ZXRSSExpandedReader *rssExpandedReader = [[ZXRSSExpandedReader alloc] init];
ZXResult *theResult = [rssExpandedReader decodeRow:rowNumber row:row hints:nil error:&error];
if (!theResult) {
STFail([error description]);
return;
}
STAssertEquals(theResult.barcodeFormat, kBarcodeFormatRSSExpanded, @"Expected format to be kBarcodeFormatRSSExpanded");
ZXParsedResult *result = [ZXResultParser parseResult:theResult];
STAssertEqualObjects(result, expected, @"Result does not match expected");
}
@end