|
| 1 | +// |
| 2 | +// RecognizedBlock.m |
| 3 | +// TestsProject |
| 4 | +// |
| 5 | +// Created by Kirill Makankov on 12.01.15. |
| 6 | +// Copyright (c) 2015 Daniele Galiotto - www.g8production.com. All rights reserved. |
| 7 | +// |
| 8 | + |
| 9 | +#import <UIKit/UIKit.h> |
| 10 | +#import <TesseractOCR/TesseractOCR.h> |
| 11 | +#import <Kiwi/Kiwi.h> |
| 12 | +#import "Defaults.h" |
| 13 | + |
| 14 | +SPEC_BEGIN(RecognizedBlockTests) |
| 15 | + |
| 16 | +describe(@"RecognizedBlock Tests", ^{ |
| 17 | + |
| 18 | + context(@"empty block", ^{ |
| 19 | + let(emptyBlock, ^id{ |
| 20 | + G8RecognizedBlock *block = [[G8RecognizedBlock alloc] init]; |
| 21 | + [[block shouldNot] beNil]; |
| 22 | + return block; |
| 23 | + }); |
| 24 | + |
| 25 | + it(@"Should equal another empty block", ^{ |
| 26 | + G8RecognizedBlock *block2 = [[G8RecognizedBlock alloc] init]; |
| 27 | + [[block2 shouldNot] beNil]; |
| 28 | + |
| 29 | + BOOL isEqual = [emptyBlock isEqual:block2]; |
| 30 | + [[theValue(isEqual) should] beYes]; |
| 31 | + }); |
| 32 | + |
| 33 | + it(@"Should copy", ^{ |
| 34 | + G8RecognizedBlock *block2 = [emptyBlock copy]; |
| 35 | + [[block2 should] equal:emptyBlock]; |
| 36 | + |
| 37 | + BOOL isEqual = [emptyBlock isEqual:block2]; |
| 38 | + [[theValue(isEqual) should] beYes]; |
| 39 | + }); |
| 40 | + |
| 41 | + it(@"Should print description", ^{ |
| 42 | + [[emptyBlock description] isEqualToString:@"(0.00%) '(null)'"]; |
| 43 | + }); |
| 44 | + |
| 45 | + it(@"Should compare with nil", ^{ |
| 46 | + BOOL isEqual = [emptyBlock isEqual:nil]; |
| 47 | + [[theValue(isEqual) should] beNo]; |
| 48 | + }); |
| 49 | + |
| 50 | + it(@"Should have the empty hash", ^{ |
| 51 | + [[theValue([emptyBlock hash]) should] equal:theValue(0)]; |
| 52 | + }); |
| 53 | + }); |
| 54 | + |
| 55 | + context(@"Not empty block", ^{ |
| 56 | + NSString *originalText = @"not empty block"; |
| 57 | + CGRect originalRect = CGRectMake(10.f, 10.7f, 134.95f, 5.2f); |
| 58 | + CGFloat originalConfidence = 0.29f; |
| 59 | + G8PageIteratorLevel originalLevel = G8PageIteratorLevelWord; |
| 60 | + |
| 61 | + let(notEmptyWordBlock, ^id{ |
| 62 | + G8RecognizedBlock *block = [[G8RecognizedBlock alloc] initWithText:originalText |
| 63 | + boundingBox:originalRect |
| 64 | + confidence:originalConfidence |
| 65 | + level:originalLevel]; |
| 66 | + [[block shouldNot] beNil]; |
| 67 | + return block; |
| 68 | + }); |
| 69 | + |
| 70 | + it(@"should isEqual", ^{ |
| 71 | + BOOL isEqual = [notEmptyWordBlock isEqual:notEmptyWordBlock]; |
| 72 | + [[theValue(isEqual) should] beYes]; |
| 73 | + }); |
| 74 | + |
| 75 | + it(@"Should not isEqual", ^{ |
| 76 | + |
| 77 | + BOOL isEqual = [notEmptyWordBlock isEqual:[[G8RecognizedBlock alloc] init]]; |
| 78 | + [[theValue(isEqual) should] beNo]; |
| 79 | + |
| 80 | + isEqual = [notEmptyWordBlock isEqual:[[G8RecognizedBlock alloc] initWithText:@"different text" |
| 81 | + boundingBox:originalRect |
| 82 | + confidence:originalConfidence |
| 83 | + level:originalLevel]]; |
| 84 | + [[theValue(isEqual) should] beNo]; |
| 85 | + |
| 86 | + isEqual = [notEmptyWordBlock isEqual:[[G8RecognizedBlock alloc] initWithText:originalText |
| 87 | + boundingBox:CGRectMake(10.00001f, 10.69999f, 134.95001f, 5.19999f) |
| 88 | + confidence:originalConfidence |
| 89 | + level:originalLevel]]; |
| 90 | + [[theValue(isEqual) should] beNo]; |
| 91 | + |
| 92 | + isEqual = [notEmptyWordBlock isEqual:[[G8RecognizedBlock alloc] initWithText:originalText |
| 93 | + boundingBox:originalRect |
| 94 | + confidence:0.78f |
| 95 | + level:originalLevel]]; |
| 96 | + [[theValue(isEqual) should] beNo]; |
| 97 | + |
| 98 | + isEqual = [notEmptyWordBlock isEqual:[[G8RecognizedBlock alloc] initWithText:originalText |
| 99 | + boundingBox:originalRect |
| 100 | + confidence:originalConfidence |
| 101 | + level:G8PageIteratorLevelParagraph]]; |
| 102 | + [[theValue(isEqual) should] beNo]; |
| 103 | + }); |
| 104 | + }); |
| 105 | +}); |
| 106 | + |
| 107 | +SPEC_END |
0 commit comments