Adds armorName to Monster entity.
Adds tests for armorName.
This commit is contained in:
@@ -21,7 +21,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@interface Monster : NSManagedObject
|
@interface Monster : NSManagedObject
|
||||||
|
|
||||||
@property NSString *armorName;
|
|
||||||
@property NSString *otherArmorDescription;
|
@property NSString *otherArmorDescription;
|
||||||
@property NSString *hpText;
|
@property NSString *hpText;
|
||||||
@property NSString *speed;
|
@property NSString *speed;
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
@implementation Monster
|
@implementation Monster
|
||||||
|
|
||||||
@synthesize armorName;
|
|
||||||
@synthesize blindsightDistance;
|
@synthesize blindsightDistance;
|
||||||
@synthesize burrowSpeed;
|
@synthesize burrowSpeed;
|
||||||
@synthesize challengeRating;
|
@synthesize challengeRating;
|
||||||
@@ -71,6 +70,7 @@
|
|||||||
self.type = [jsonRoot objectForKey:@"type"] ?: @"";
|
self.type = [jsonRoot objectForKey:@"type"] ?: @"";
|
||||||
self.subtype = [jsonRoot objectForKey:@"tag"] ?: @"";
|
self.subtype = [jsonRoot objectForKey:@"tag"] ?: @"";
|
||||||
self.alignment = [jsonRoot objectForKey:@"alignment"] ?: @"";
|
self.alignment = [jsonRoot objectForKey:@"alignment"] ?: @"";
|
||||||
|
self.armorName = [jsonRoot objectForKey:@"armorName"] ?: @"";
|
||||||
tempNumber = [jsonRoot objectForKey:@"strPoints"];
|
tempNumber = [jsonRoot objectForKey:@"strPoints"];
|
||||||
if (tempNumber != nil && [tempNumber isKindOfClass:[NSNumber class]]) {
|
if (tempNumber != nil && [tempNumber isKindOfClass:[NSNumber class]]) {
|
||||||
self.strengthScore = tempNumber.intValue;
|
self.strengthScore = tempNumber.intValue;
|
||||||
@@ -366,6 +366,7 @@
|
|||||||
self.intelligenceScore = monster.intelligenceScore;
|
self.intelligenceScore = monster.intelligenceScore;
|
||||||
self.wisdomScore = monster.wisdomScore;
|
self.wisdomScore = monster.wisdomScore;
|
||||||
self.charismaScore = monster.charismaScore;
|
self.charismaScore = monster.charismaScore;
|
||||||
|
self.armorName = monster.armorName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="16119" systemVersion="19G2021" minimumToolsVersion="Automatic" sourceLanguage="Objective-C" usedWithCloudKit="YES" userDefinedModelVersionIdentifier="">
|
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="16119" systemVersion="19G2021" minimumToolsVersion="Automatic" sourceLanguage="Objective-C" usedWithCloudKit="YES" userDefinedModelVersionIdentifier="">
|
||||||
<entity name="Monster" representedClassName="Monster" syncable="YES" codeGenerationType="category">
|
<entity name="Monster" representedClassName="Monster" syncable="YES" codeGenerationType="category">
|
||||||
<attribute name="alignment" attributeType="String" defaultValueString=""/>
|
<attribute name="alignment" attributeType="String" defaultValueString=""/>
|
||||||
|
<attribute name="armorName" optional="YES" attributeType="String" defaultValueString=""/>
|
||||||
<attribute name="charismaScore" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
<attribute name="charismaScore" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
||||||
<attribute name="constitutionScore" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
<attribute name="constitutionScore" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
||||||
<attribute name="dexterityScore" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
<attribute name="dexterityScore" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
||||||
@@ -14,6 +15,6 @@
|
|||||||
<attribute name="wisdomScore" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
<attribute name="wisdomScore" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
||||||
</entity>
|
</entity>
|
||||||
<elements>
|
<elements>
|
||||||
<element name="Monster" positionX="-63" positionY="-18" width="128" height="208"/>
|
<element name="Monster" positionX="-63" positionY="-18" width="128" height="223"/>
|
||||||
</elements>
|
</elements>
|
||||||
</model>
|
</model>
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
- (void)setUp {
|
- (void)setUp {
|
||||||
_context = nil;
|
_context = nil;
|
||||||
_monster = [[Monster alloc] initWithContext:_context];
|
_monster = [[Monster alloc] initWithContext:_context];
|
||||||
_jsonString = @"{\"name\":\"Acolyte\",\"size\":\"medium\",\"type\":\"humanoid\",\"tag\":\"any race\",\"alignment\":\"any alignment\",\"strPoints\":8,\"dexPoints\":10,\"conPoints\":12,\"intPoints\":14,\"wisPoints\":16,\"chaPoints\":18}";
|
_jsonString = @"{\"name\":\"Acolyte\",\"size\":\"medium\",\"type\":\"humanoid\",\"tag\":\"any race\",\"alignment\":\"any alignment\",\"strPoints\":8,\"dexPoints\":10,\"conPoints\":12,\"intPoints\":14,\"wisPoints\":16,\"chaPoints\":18,\"armorName\":\"none\"}";
|
||||||
_jsonData = [_jsonString dataUsingEncoding:NSUTF8StringEncoding];
|
_jsonData = [_jsonString dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,6 +46,7 @@
|
|||||||
XCTAssertEqual(0, _monster.intelligenceScore);
|
XCTAssertEqual(0, _monster.intelligenceScore);
|
||||||
XCTAssertEqual(0, _monster.wisdomScore);
|
XCTAssertEqual(0, _monster.wisdomScore);
|
||||||
XCTAssertEqual(0, _monster.charismaScore);
|
XCTAssertEqual(0, _monster.charismaScore);
|
||||||
|
XCTAssertEqualObjects(@"", _monster.armorName);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)testInitWithJSONString {
|
- (void)testInitWithJSONString {
|
||||||
@@ -63,6 +64,7 @@
|
|||||||
XCTAssertEqual(14, _monster.intelligenceScore);
|
XCTAssertEqual(14, _monster.intelligenceScore);
|
||||||
XCTAssertEqual(16, _monster.wisdomScore);
|
XCTAssertEqual(16, _monster.wisdomScore);
|
||||||
XCTAssertEqual(18, _monster.charismaScore);
|
XCTAssertEqual(18, _monster.charismaScore);
|
||||||
|
XCTAssertEqualObjects(@"none", _monster.armorName);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)testInitWithEmptyJSONString {
|
- (void)testInitWithEmptyJSONString {
|
||||||
@@ -80,6 +82,7 @@
|
|||||||
XCTAssertEqual(0, _monster.intelligenceScore);
|
XCTAssertEqual(0, _monster.intelligenceScore);
|
||||||
XCTAssertEqual(0, _monster.wisdomScore);
|
XCTAssertEqual(0, _monster.wisdomScore);
|
||||||
XCTAssertEqual(0, _monster.charismaScore);
|
XCTAssertEqual(0, _monster.charismaScore);
|
||||||
|
XCTAssertEqualObjects(@"", _monster.armorName);
|
||||||
}
|
}
|
||||||
- (void)testInitWithJSONData {
|
- (void)testInitWithJSONData {
|
||||||
_monster = [[Monster alloc] initWithJSONData:_jsonData andContext:_context];
|
_monster = [[Monster alloc] initWithJSONData:_jsonData andContext:_context];
|
||||||
@@ -96,6 +99,7 @@
|
|||||||
XCTAssertEqual(14, _monster.intelligenceScore);
|
XCTAssertEqual(14, _monster.intelligenceScore);
|
||||||
XCTAssertEqual(16, _monster.wisdomScore);
|
XCTAssertEqual(16, _monster.wisdomScore);
|
||||||
XCTAssertEqual(18, _monster.charismaScore);
|
XCTAssertEqual(18, _monster.charismaScore);
|
||||||
|
XCTAssertEqualObjects(@"none", _monster.armorName);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)testNameGetterAndSetter {
|
- (void)testNameGetterAndSetter {
|
||||||
@@ -143,6 +147,7 @@
|
|||||||
XCTAssertEqual(14, _monster.intelligenceScore);
|
XCTAssertEqual(14, _monster.intelligenceScore);
|
||||||
XCTAssertEqual(16, _monster.wisdomScore);
|
XCTAssertEqual(16, _monster.wisdomScore);
|
||||||
XCTAssertEqual(18, _monster.charismaScore);
|
XCTAssertEqual(18, _monster.charismaScore);
|
||||||
|
XCTAssertEqualObjects(@"none", _monster.armorName);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)testMetaWithNoFieldsSet {
|
- (void)testMetaWithNoFieldsSet {
|
||||||
@@ -357,4 +362,9 @@
|
|||||||
XCTAssertEqual(1, _monster.charismaModifier);
|
XCTAssertEqual(1, _monster.charismaModifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)testGetterAndSetterForArmorName {
|
||||||
|
_monster.armorName = @"dandelion";
|
||||||
|
XCTAssertEqualObjects(_monster.armorName, @"dandelion");
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
Reference in New Issue
Block a user