Skip to content

Commit 02faf0e

Browse files
committed
Backfilled tests.
- FOXStrictPositiveInteger - FOXFamousStrictPositiveInteger - FOXStrictNegativeInteger - FOXFamousStrictNegativeInteger
1 parent 124c866 commit 02faf0e

File tree

3 files changed

+112
-0
lines changed

3 files changed

+112
-0
lines changed

Fox.xcodeproj/project.pbxproj

+12
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,10 @@
260260
1FFCE5681A80B90700A427AA /* FOXLimits.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FFCE5651A80B90700A427AA /* FOXLimits.h */; };
261261
1FFCE5691A80B90700A427AA /* FOXLimits.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1FFCE5661A80B90700A427AA /* FOXLimits.mm */; };
262262
1FFCE56A1A80B90700A427AA /* FOXLimits.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1FFCE5661A80B90700A427AA /* FOXLimits.mm */; };
263+
1FFCE56C1A81DF8300A427AA /* FOXStrictPositiveIntegerSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1FFCE56B1A81DF8300A427AA /* FOXStrictPositiveIntegerSpec.mm */; };
264+
1FFCE56D1A81DF8300A427AA /* FOXStrictPositiveIntegerSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1FFCE56B1A81DF8300A427AA /* FOXStrictPositiveIntegerSpec.mm */; };
265+
1FFCE56F1A81E13400A427AA /* FOXStrictNegativeIntegerSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1FFCE56E1A81E13400A427AA /* FOXStrictNegativeIntegerSpec.mm */; };
266+
1FFCE5701A81E13400A427AA /* FOXStrictNegativeIntegerSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1FFCE56E1A81E13400A427AA /* FOXStrictNegativeIntegerSpec.mm */; };
263267
/* End PBXBuildFile section */
264268

265269
/* Begin PBXContainerItemProxy section */
@@ -383,6 +387,8 @@
383387
1FF6737D1A2AC7E200F98D20 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
384388
1FFCE5651A80B90700A427AA /* FOXLimits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FOXLimits.h; path = Fox/Private/FOXLimits.h; sourceTree = SOURCE_ROOT; };
385389
1FFCE5661A80B90700A427AA /* FOXLimits.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = FOXLimits.mm; path = Fox/Private/FOXLimits.mm; sourceTree = SOURCE_ROOT; };
390+
1FFCE56B1A81DF8300A427AA /* FOXStrictPositiveIntegerSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = FOXStrictPositiveIntegerSpec.mm; path = FoxSpecs/Public/Generators/FOXStrictPositiveIntegerSpec.mm; sourceTree = SOURCE_ROOT; };
391+
1FFCE56E1A81E13400A427AA /* FOXStrictNegativeIntegerSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = FOXStrictNegativeIntegerSpec.mm; path = FoxSpecs/Public/Generators/FOXStrictNegativeIntegerSpec.mm; sourceTree = SOURCE_ROOT; };
386392
31B730183A626AD19A2B366E /* FOXSequence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FOXSequence.h; sourceTree = "<group>"; };
387393
31B73029745CB5B325095CB3 /* QueueAddTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QueueAddTransition.m; sourceTree = "<group>"; };
388394
31B7303EEEA0827C94541FB4 /* FOXStateMachine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FOXStateMachine.h; sourceTree = "<group>"; };
@@ -683,6 +689,8 @@
683689
1F8FDC021989FED70059D31A /* FOXStringSpec.mm */,
684690
1FA94A35199606F800803AF3 /* FOXSuchThatSpec.mm */,
685691
1F35BC2D198DB6AA00BEA6E1 /* FOXTupleGeneratorSpec.mm */,
692+
1FFCE56B1A81DF8300A427AA /* FOXStrictPositiveIntegerSpec.mm */,
693+
1FFCE56E1A81E13400A427AA /* FOXStrictNegativeIntegerSpec.mm */,
686694
);
687695
path = Generators;
688696
sourceTree = "<group>";
@@ -1083,6 +1091,7 @@
10831091
1F38B6D71A2ACCF10078FF90 /* FOXRandomSpec.mm in Sources */,
10841092
1F38B6CD1A2ACCDF0078FF90 /* NSArray+FastEnumerator.m in Sources */,
10851093
1F71D4FA1A3143A70017E81A /* FOXResizeSpec.mm in Sources */,
1094+
1FFCE56F1A81E13400A427AA /* FOXStrictNegativeIntegerSpec.mm in Sources */,
10861095
1F38B6D91A2ACCF10078FF90 /* FOXRoseTreeSpec.mm in Sources */,
10871096
1F38B6E61A2ACCF10078FF90 /* FOXSuchThatSpec.mm in Sources */,
10881097
1F38B6E51A2ACCF10078FF90 /* FOXFiniteStateMachineSpec.mm in Sources */,
@@ -1102,6 +1111,7 @@
11021111
1F38B6E11A2ACCF10078FF90 /* FOXSetSpec.mm in Sources */,
11031112
1F38B6DB1A2ACCF10078FF90 /* FOXChooseSpec.mm in Sources */,
11041113
1F38B6D41A2ACCE80078FF90 /* QueueAddTransition.m in Sources */,
1114+
1FFCE56C1A81DF8300A427AA /* FOXStrictPositiveIntegerSpec.mm in Sources */,
11051115
1F38B6DF1A2ACCF10078FF90 /* FOXPositiveIntegerSpec.mm in Sources */,
11061116
1F38B6D61A2ACCE80078FF90 /* FOXSpecHelper.m in Sources */,
11071117
1F38B6DC1A2ACCF10078FF90 /* FOXDictionarySpec.mm in Sources */,
@@ -1172,6 +1182,7 @@
11721182
1F38B6E91A2ACCF20078FF90 /* FOXRandomSpec.mm in Sources */,
11731183
1F38B6CE1A2ACCE00078FF90 /* NSArray+FastEnumerator.m in Sources */,
11741184
1F71D4FB1A3143A70017E81A /* FOXResizeSpec.mm in Sources */,
1185+
1FFCE5701A81E13400A427AA /* FOXStrictNegativeIntegerSpec.mm in Sources */,
11751186
1F38B6EB1A2ACCF20078FF90 /* FOXRoseTreeSpec.mm in Sources */,
11761187
1F38B6F81A2ACCF20078FF90 /* FOXSuchThatSpec.mm in Sources */,
11771188
1F38B6F71A2ACCF20078FF90 /* FOXFiniteStateMachineSpec.mm in Sources */,
@@ -1191,6 +1202,7 @@
11911202
1F38B6F31A2ACCF20078FF90 /* FOXSetSpec.mm in Sources */,
11921203
1F38B6ED1A2ACCF20078FF90 /* FOXChooseSpec.mm in Sources */,
11931204
1F38B6D01A2ACCE70078FF90 /* QueueAddTransition.m in Sources */,
1205+
1FFCE56D1A81DF8300A427AA /* FOXStrictPositiveIntegerSpec.mm in Sources */,
11941206
1F38B6F11A2ACCF20078FF90 /* FOXPositiveIntegerSpec.mm in Sources */,
11951207
1F38B6D21A2ACCE70078FF90 /* FOXSpecHelper.m in Sources */,
11961208
1F38B6EE1A2ACCF20078FF90 /* FOXDictionarySpec.mm in Sources */,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#import <Cedar.h>
2+
#import "Fox.h"
3+
#import "FOXSpecHelper.h"
4+
5+
using namespace Cedar::Matchers;
6+
using namespace Cedar::Doubles;
7+
8+
SPEC_BEGIN(FOXStrictNegativeIntegerSpec)
9+
10+
describe(@"FOXStrictNegativeInteger", ^{
11+
it(@"should generate negative numbers, excluding zero", ^{
12+
FOXAssert(FOXForAll(FOXStrictNegativeInteger(), ^BOOL(NSNumber *value) {
13+
return [value integerValue] < 0;
14+
}));
15+
});
16+
17+
it(@"should shrink to -1", ^{
18+
FOXRunnerResult *result = [FOXSpecHelper shrunkResultForAll:FOXStrictNegativeInteger()];
19+
20+
result.succeeded should be_falsy;
21+
result.smallestFailingValue should equal(@(-1));
22+
});
23+
});
24+
25+
describe(@"FOXFamousStrictNegativeInteger", ^{
26+
it(@"should generate INT_MIN more frequently", ^{
27+
__block BOOL hasSeenIntMin = NO;
28+
FOXAssert(FOXForAll(FOXFamousStrictNegativeInteger(), ^BOOL(NSNumber *value) {
29+
hasSeenIntMin = hasSeenIntMin || [value integerValue] == INT_MIN;
30+
return [value integerValue] < 0;
31+
}));
32+
33+
hasSeenIntMin should be_truthy;
34+
});
35+
36+
it(@"should generate negative numbers, excluding zero", ^{
37+
FOXAssert(FOXForAll(FOXFamousStrictNegativeInteger(), ^BOOL(NSNumber *value) {
38+
return [value integerValue] < 0;
39+
}));
40+
});
41+
42+
it(@"should shrink to -1", ^{
43+
FOXRunnerResult *result = [FOXSpecHelper shrunkResultForAll:FOXFamousStrictNegativeInteger()];
44+
45+
result.succeeded should be_falsy;
46+
result.smallestFailingValue should equal(@(-1));
47+
});
48+
});
49+
50+
SPEC_END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#import <Cedar.h>
2+
#import "Fox.h"
3+
#import "FOXSpecHelper.h"
4+
5+
using namespace Cedar::Matchers;
6+
using namespace Cedar::Doubles;
7+
8+
SPEC_BEGIN(FOXStrictPositiveIntegerSpec)
9+
10+
describe(@"FOXStrictPositiveInteger", ^{
11+
it(@"should generate positive numbers, excluding zero", ^{
12+
FOXAssert(FOXForAll(FOXStrictPositiveInteger(), ^BOOL(NSNumber *value) {
13+
return [value integerValue] > 0;
14+
}));
15+
});
16+
17+
it(@"should shrink to 1", ^{
18+
FOXRunnerResult *result = [FOXSpecHelper shrunkResultForAll:FOXStrictPositiveInteger()];
19+
20+
result.succeeded should be_falsy;
21+
result.smallestFailingValue should equal(@1);
22+
});
23+
});
24+
25+
describe(@"FOXFamousStrictPositiveInteger", ^{
26+
it(@"should generate INT_MAX more frequently", ^{
27+
__block BOOL hasSeenIntMax = NO;
28+
FOXAssert(FOXForAll(FOXFamousStrictPositiveInteger(), ^BOOL(NSNumber *value) {
29+
hasSeenIntMax = hasSeenIntMax || [value integerValue] == INT_MAX;
30+
return [value integerValue] > 0;
31+
}));
32+
33+
hasSeenIntMax should be_truthy;
34+
});
35+
36+
it(@"should generate positive numbers, excluding zero", ^{
37+
FOXAssert(FOXForAll(FOXFamousStrictPositiveInteger(), ^BOOL(NSNumber *value) {
38+
return [value integerValue] > 0;
39+
}));
40+
});
41+
42+
it(@"should shrink to 1", ^{
43+
FOXRunnerResult *result = [FOXSpecHelper shrunkResultForAll:FOXFamousStrictPositiveInteger()];
44+
45+
result.succeeded should be_falsy;
46+
result.smallestFailingValue should equal(@1);
47+
});
48+
});
49+
50+
SPEC_END

0 commit comments

Comments
 (0)