Skip to content

Commit 37cd2b8

Browse files
Add test target
1 parent beace2f commit 37cd2b8

File tree

3 files changed

+222
-0
lines changed

3 files changed

+222
-0
lines changed

SportsJSONParser Tests/Info.plist

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>en</string>
7+
<key>CFBundleExecutable</key>
8+
<string>$(EXECUTABLE_NAME)</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>com.designatednerd.$(PRODUCT_NAME:rfc1034identifier)</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>$(PRODUCT_NAME)</string>
15+
<key>CFBundlePackageType</key>
16+
<string>BNDL</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>1.0</string>
19+
<key>CFBundleSignature</key>
20+
<string>????</string>
21+
<key>CFBundleVersion</key>
22+
<string>1</string>
23+
</dict>
24+
</plist>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
//
2+
// SportsJSONParser_Tests.m
3+
// SportsJSONParser Tests
4+
//
5+
// Created by Ellen Shapiro on 3/21/15.
6+
// Copyright (c) 2015 Designated Nerd Software. All rights reserved.
7+
//
8+
9+
#import <UIKit/UIKit.h>
10+
#import <XCTest/XCTest.h>
11+
12+
@interface SportsJSONParser_Tests : XCTestCase
13+
14+
@end
15+
16+
@implementation SportsJSONParser_Tests
17+
18+
- (void)setUp {
19+
[super setUp];
20+
// Put setup code here. This method is called before the invocation of each test method in the class.
21+
}
22+
23+
- (void)tearDown {
24+
// Put teardown code here. This method is called after the invocation of each test method in the class.
25+
[super tearDown];
26+
}
27+
28+
- (void)testExample {
29+
// This is an example of a functional test case.
30+
XCTAssert(YES, @"Pass");
31+
}
32+
33+
- (void)testPerformanceExample {
34+
// This is an example of a performance test case.
35+
[self measureBlock:^{
36+
// Put the code you want to measure the time of here.
37+
}];
38+
}
39+
40+
@end

SportsJSONParser.xcodeproj/project.pbxproj

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,22 @@
1717
9B004D851ABE352E00A5C82F /* sports.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9B004D7F1ABE352E00A5C82F /* sports.plist */; };
1818
9B004D8B1ABE35A400A5C82F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B004D881ABE35A400A5C82F /* main.m */; };
1919
9B004D8F1ABE36FA00A5C82F /* Launch Screen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9B004D8D1ABE36FA00A5C82F /* Launch Screen.xib */; };
20+
9B004D991ABE386700A5C82F /* SportsJSONParser_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B004D981ABE386700A5C82F /* SportsJSONParser_Tests.m */; };
2021
F5B792541733398B00E84264 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5B792531733398B00E84264 /* UIKit.framework */; };
2122
F5B792561733398B00E84264 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5B792551733398B00E84264 /* Foundation.framework */; };
2223
F5B792581733398B00E84264 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5B792571733398B00E84264 /* CoreGraphics.framework */; };
2324
/* End PBXBuildFile section */
2425

26+
/* Begin PBXContainerItemProxy section */
27+
9B004D9A1ABE386700A5C82F /* PBXContainerItemProxy */ = {
28+
isa = PBXContainerItemProxy;
29+
containerPortal = F5B792481733398B00E84264 /* Project object */;
30+
proxyType = 1;
31+
remoteGlobalIDString = F5B7924F1733398B00E84264;
32+
remoteInfo = SportsJSONParser;
33+
};
34+
/* End PBXContainerItemProxy section */
35+
2536
/* Begin PBXFileReference section */
2637
9B004D541ABE343200A5C82F /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
2738
9B004D551ABE343200A5C82F /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -42,6 +53,9 @@
4253
9B004D891ABE35A400A5C82F /* SportsJSONParser-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "SportsJSONParser-Info.plist"; path = "SportsJSONParser/SportsJSONParser-Info.plist"; sourceTree = SOURCE_ROOT; };
4354
9B004D8A1ABE35A400A5C82F /* SportsJSONParser-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "SportsJSONParser-Prefix.pch"; path = "SportsJSONParser/SportsJSONParser-Prefix.pch"; sourceTree = SOURCE_ROOT; };
4455
9B004D8E1ABE36FA00A5C82F /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = "en.lproj/Launch Screen.xib"; sourceTree = "<group>"; };
56+
9B004D941ABE386700A5C82F /* SportsJSONParser Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SportsJSONParser Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
57+
9B004D971ABE386700A5C82F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
58+
9B004D981ABE386700A5C82F /* SportsJSONParser_Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SportsJSONParser_Tests.m; sourceTree = "<group>"; };
4559
F5B792501733398B00E84264 /* SportsJSONParser.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SportsJSONParser.app; sourceTree = BUILT_PRODUCTS_DIR; };
4660
F5B792531733398B00E84264 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
4761
F5B792551733398B00E84264 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
@@ -50,6 +64,13 @@
5064
/* End PBXFileReference section */
5165

5266
/* Begin PBXFrameworksBuildPhase section */
67+
9B004D911ABE386700A5C82F /* Frameworks */ = {
68+
isa = PBXFrameworksBuildPhase;
69+
buildActionMask = 2147483647;
70+
files = (
71+
);
72+
runOnlyForDeploymentPostprocessing = 0;
73+
};
5374
F5B7924D1733398B00E84264 /* Frameworks */ = {
5475
isa = PBXFrameworksBuildPhase;
5576
buildActionMask = 2147483647;
@@ -121,11 +142,29 @@
121142
path = SupportingFiles;
122143
sourceTree = "<group>";
123144
};
145+
9B004D951ABE386700A5C82F /* SportsJSONParser Tests */ = {
146+
isa = PBXGroup;
147+
children = (
148+
9B004D981ABE386700A5C82F /* SportsJSONParser_Tests.m */,
149+
9B004D961ABE386700A5C82F /* Supporting Files */,
150+
);
151+
path = "SportsJSONParser Tests";
152+
sourceTree = "<group>";
153+
};
154+
9B004D961ABE386700A5C82F /* Supporting Files */ = {
155+
isa = PBXGroup;
156+
children = (
157+
9B004D971ABE386700A5C82F /* Info.plist */,
158+
);
159+
name = "Supporting Files";
160+
sourceTree = "<group>";
161+
};
124162
F5B792471733398A00E84264 = {
125163
isa = PBXGroup;
126164
children = (
127165
F5FB19AD174314DE0065EAAE /* README.mdown */,
128166
9B004D531ABE343200A5C82F /* SportsJSONParser */,
167+
9B004D951ABE386700A5C82F /* SportsJSONParser Tests */,
129168
F5B792521733398B00E84264 /* Frameworks */,
130169
F5B792511733398B00E84264 /* Products */,
131170
);
@@ -135,6 +174,7 @@
135174
isa = PBXGroup;
136175
children = (
137176
F5B792501733398B00E84264 /* SportsJSONParser.app */,
177+
9B004D941ABE386700A5C82F /* SportsJSONParser Tests.xctest */,
138178
);
139179
name = Products;
140180
sourceTree = "<group>";
@@ -152,6 +192,24 @@
152192
/* End PBXGroup section */
153193

154194
/* Begin PBXNativeTarget section */
195+
9B004D931ABE386700A5C82F /* SportsJSONParser Tests */ = {
196+
isa = PBXNativeTarget;
197+
buildConfigurationList = 9B004D9C1ABE386700A5C82F /* Build configuration list for PBXNativeTarget "SportsJSONParser Tests" */;
198+
buildPhases = (
199+
9B004D901ABE386700A5C82F /* Sources */,
200+
9B004D911ABE386700A5C82F /* Frameworks */,
201+
9B004D921ABE386700A5C82F /* Resources */,
202+
);
203+
buildRules = (
204+
);
205+
dependencies = (
206+
9B004D9B1ABE386700A5C82F /* PBXTargetDependency */,
207+
);
208+
name = "SportsJSONParser Tests";
209+
productName = "SportsJSONParser Tests";
210+
productReference = 9B004D941ABE386700A5C82F /* SportsJSONParser Tests.xctest */;
211+
productType = "com.apple.product-type.bundle.unit-test";
212+
};
155213
F5B7924F1733398B00E84264 /* SportsJSONParser */ = {
156214
isa = PBXNativeTarget;
157215
buildConfigurationList = F5B792761733398B00E84264 /* Build configuration list for PBXNativeTarget "SportsJSONParser" */;
@@ -177,6 +235,12 @@
177235
attributes = {
178236
LastUpgradeCheck = 0460;
179237
ORGANIZATIONNAME = "Designated Nerd Software";
238+
TargetAttributes = {
239+
9B004D931ABE386700A5C82F = {
240+
CreatedOnToolsVersion = 6.2;
241+
TestTargetID = F5B7924F1733398B00E84264;
242+
};
243+
};
180244
};
181245
buildConfigurationList = F5B7924B1733398B00E84264 /* Build configuration list for PBXProject "SportsJSONParser" */;
182246
compatibilityVersion = "Xcode 3.2";
@@ -191,11 +255,19 @@
191255
projectRoot = "";
192256
targets = (
193257
F5B7924F1733398B00E84264 /* SportsJSONParser */,
258+
9B004D931ABE386700A5C82F /* SportsJSONParser Tests */,
194259
);
195260
};
196261
/* End PBXProject section */
197262

198263
/* Begin PBXResourcesBuildPhase section */
264+
9B004D921ABE386700A5C82F /* Resources */ = {
265+
isa = PBXResourcesBuildPhase;
266+
buildActionMask = 2147483647;
267+
files = (
268+
);
269+
runOnlyForDeploymentPostprocessing = 0;
270+
};
199271
F5B7924E1733398B00E84264 /* Resources */ = {
200272
isa = PBXResourcesBuildPhase;
201273
buildActionMask = 2147483647;
@@ -209,6 +281,14 @@
209281
/* End PBXResourcesBuildPhase section */
210282

211283
/* Begin PBXSourcesBuildPhase section */
284+
9B004D901ABE386700A5C82F /* Sources */ = {
285+
isa = PBXSourcesBuildPhase;
286+
buildActionMask = 2147483647;
287+
files = (
288+
9B004D991ABE386700A5C82F /* SportsJSONParser_Tests.m in Sources */,
289+
);
290+
runOnlyForDeploymentPostprocessing = 0;
291+
};
212292
F5B7924C1733398B00E84264 /* Sources */ = {
213293
isa = PBXSourcesBuildPhase;
214294
buildActionMask = 2147483647;
@@ -225,6 +305,14 @@
225305
};
226306
/* End PBXSourcesBuildPhase section */
227307

308+
/* Begin PBXTargetDependency section */
309+
9B004D9B1ABE386700A5C82F /* PBXTargetDependency */ = {
310+
isa = PBXTargetDependency;
311+
target = F5B7924F1733398B00E84264 /* SportsJSONParser */;
312+
targetProxy = 9B004D9A1ABE386700A5C82F /* PBXContainerItemProxy */;
313+
};
314+
/* End PBXTargetDependency section */
315+
228316
/* Begin PBXVariantGroup section */
229317
9B004D591ABE343200A5C82F /* InfoPlist.strings */ = {
230318
isa = PBXVariantGroup;
@@ -246,6 +334,68 @@
246334
/* End PBXVariantGroup section */
247335

248336
/* Begin XCBuildConfiguration section */
337+
9B004D9D1ABE386700A5C82F /* Debug */ = {
338+
isa = XCBuildConfiguration;
339+
buildSettings = {
340+
BUNDLE_LOADER = "$(TEST_HOST)";
341+
CLANG_ENABLE_MODULES = YES;
342+
CLANG_WARN_BOOL_CONVERSION = YES;
343+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
344+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
345+
CLANG_WARN_UNREACHABLE_CODE = YES;
346+
ENABLE_STRICT_OBJC_MSGSEND = YES;
347+
FRAMEWORK_SEARCH_PATHS = (
348+
"$(SDKROOT)/Developer/Library/Frameworks",
349+
"$(inherited)",
350+
);
351+
GCC_PREPROCESSOR_DEFINITIONS = (
352+
"DEBUG=1",
353+
"$(inherited)",
354+
);
355+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
356+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
357+
GCC_WARN_UNDECLARED_SELECTOR = YES;
358+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
359+
GCC_WARN_UNUSED_FUNCTION = YES;
360+
INFOPLIST_FILE = "SportsJSONParser Tests/Info.plist";
361+
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
362+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
363+
MTL_ENABLE_DEBUG_INFO = YES;
364+
PRODUCT_NAME = "$(TARGET_NAME)";
365+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SportsJSONParser.app/SportsJSONParser";
366+
};
367+
name = Debug;
368+
};
369+
9B004D9E1ABE386700A5C82F /* Release */ = {
370+
isa = XCBuildConfiguration;
371+
buildSettings = {
372+
BUNDLE_LOADER = "$(TEST_HOST)";
373+
CLANG_ENABLE_MODULES = YES;
374+
CLANG_WARN_BOOL_CONVERSION = YES;
375+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
376+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
377+
CLANG_WARN_UNREACHABLE_CODE = YES;
378+
COPY_PHASE_STRIP = NO;
379+
ENABLE_NS_ASSERTIONS = NO;
380+
ENABLE_STRICT_OBJC_MSGSEND = YES;
381+
FRAMEWORK_SEARCH_PATHS = (
382+
"$(SDKROOT)/Developer/Library/Frameworks",
383+
"$(inherited)",
384+
);
385+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
386+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
387+
GCC_WARN_UNDECLARED_SELECTOR = YES;
388+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
389+
GCC_WARN_UNUSED_FUNCTION = YES;
390+
INFOPLIST_FILE = "SportsJSONParser Tests/Info.plist";
391+
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
392+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
393+
MTL_ENABLE_DEBUG_INFO = NO;
394+
PRODUCT_NAME = "$(TARGET_NAME)";
395+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SportsJSONParser.app/SportsJSONParser";
396+
};
397+
name = Release;
398+
};
249399
F5B792741733398B00E84264 /* Debug */ = {
250400
isa = XCBuildConfiguration;
251401
buildSettings = {
@@ -331,6 +481,14 @@
331481
/* End XCBuildConfiguration section */
332482

333483
/* Begin XCConfigurationList section */
484+
9B004D9C1ABE386700A5C82F /* Build configuration list for PBXNativeTarget "SportsJSONParser Tests" */ = {
485+
isa = XCConfigurationList;
486+
buildConfigurations = (
487+
9B004D9D1ABE386700A5C82F /* Debug */,
488+
9B004D9E1ABE386700A5C82F /* Release */,
489+
);
490+
defaultConfigurationIsVisible = 0;
491+
};
334492
F5B7924B1733398B00E84264 /* Build configuration list for PBXProject "SportsJSONParser" */ = {
335493
isa = XCConfigurationList;
336494
buildConfigurations = (

0 commit comments

Comments
 (0)