diff --git a/iOS/MonsterCards.xcodeproj/project.pbxproj b/iOS/MonsterCards.xcodeproj/project.pbxproj index d8de2e9..069aae3 100644 --- a/iOS/MonsterCards.xcodeproj/project.pbxproj +++ b/iOS/MonsterCards.xcodeproj/project.pbxproj @@ -29,6 +29,7 @@ E2F7248C25005E8A007D87ED /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E2F7248B25005E8A007D87ED /* main.m */; }; E2F7249625005E8A007D87ED /* MonsterCardsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2F7249525005E8A007D87ED /* MonsterCardsTests.m */; }; E2F724A125005E8A007D87ED /* MonsterCardsUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2F724A025005E8A007D87ED /* MonsterCardsUITests.m */; }; + E2FD91E425047C4400D5E935 /* AbilityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2FD91E325047C4400D5E935 /* AbilityTests.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -92,6 +93,7 @@ E2F7249C25005E8A007D87ED /* MonsterCardsUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MonsterCardsUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; E2F724A025005E8A007D87ED /* MonsterCardsUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MonsterCardsUITests.m; sourceTree = ""; }; E2F724A225005E8A007D87ED /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E2FD91E325047C4400D5E935 /* AbilityTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AbilityTests.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -209,6 +211,7 @@ E2F7249425005E8A007D87ED /* MonsterCardsTests */ = { isa = PBXGroup; children = ( + E2FD91E225047C1D00D5E935 /* Models */, E2F7249525005E8A007D87ED /* MonsterCardsTests.m */, E2F7249725005E8A007D87ED /* Info.plist */, ); @@ -224,6 +227,14 @@ path = MonsterCardsUITests; sourceTree = ""; }; + E2FD91E225047C1D00D5E935 /* Models */ = { + isa = PBXGroup; + children = ( + E2FD91E325047C4400D5E935 /* AbilityTests.m */, + ); + path = Models; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -378,6 +389,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E2FD91E425047C4400D5E935 /* AbilityTests.m in Sources */, E2F7249625005E8A007D87ED /* MonsterCardsTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -585,7 +597,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.majinnaibu.monstercards.MonsterCardsTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MonsterCards.app/MonsterCards"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Monster Cards.app/Monster Cards"; }; name = Debug; }; @@ -605,7 +617,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.majinnaibu.monstercards.MonsterCardsTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MonsterCards.app/MonsterCards"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Monster Cards.app/Monster Cards"; }; name = Release; }; diff --git a/iOS/MonsterCards/Models/Ability.m b/iOS/MonsterCards/Models/Ability.m index 18ac0c5..e6c0909 100644 --- a/iOS/MonsterCards/Models/Ability.m +++ b/iOS/MonsterCards/Models/Ability.m @@ -10,6 +10,15 @@ @implementation Ability +-(id)init { + self = [super init]; + + self.name = @""; + self.abilityDescription = @""; + + return self; +} + -(id)initWithName: (NSString*)name andDescription: (NSString*)description { self = [super init]; diff --git a/iOS/MonsterCardsTests/Models/AbilityTests.m b/iOS/MonsterCardsTests/Models/AbilityTests.m new file mode 100644 index 0000000..89ab413 --- /dev/null +++ b/iOS/MonsterCardsTests/Models/AbilityTests.m @@ -0,0 +1,54 @@ +// +// AbilityTests.m +// MonsterCardsTests +// +// Created by Tom Hicks on 9/5/20. +// Copyright © 2020 Tom Hicks. All rights reserved. +// + +#import +#import "Ability.h" + +@interface AbilityTests : XCTestCase + +@end + +@implementation AbilityTests { + Ability *_ability; + NSString *_name; + NSString *_description; +} + +- (void)setUp { + _ability = [[Ability alloc] init]; + _name = @"My Ability Name"; + _description = @"This is my ability description."; +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. +} + +- (void)testDefaultInitializer { + XCTAssertEqualObjects(@"", _ability.name); + XCTAssertEqualObjects(@"", _ability.abilityDescription); +} + +- (void)testNameGetterAndSetter { + _ability.name = _name; + XCTAssertEqualObjects(_name, _ability.name); +} + +- (void)testDescriptionGetterAndSetter { + _ability.abilityDescription = _description; + XCTAssertEqualObjects(_description, _ability.abilityDescription); +} + +- (void)testInitWithNameAndDescription { + _ability = [[Ability alloc] initWithName:_name andDescription:_description]; + + XCTAssertEqualObjects(_name, _ability.name); + XCTAssertEqualObjects(_description, _ability.abilityDescription); +} + +@end