Adds dexterityScore and dexterityModifier to Monster.

Adds tests for dexterityScore and dexterityModifier.
This commit is contained in:
2020-09-13 03:26:23 -07:00
parent 91a99a5df3
commit d3dd60fb2c
2 changed files with 28 additions and 3 deletions

View File

@@ -81,7 +81,10 @@
if (tempNumber != nil && [tempNumber isKindOfClass:[NSNumber class]]) { if (tempNumber != nil && [tempNumber isKindOfClass:[NSNumber class]]) {
self.strengthScore = tempNumber.intValue; self.strengthScore = tempNumber.intValue;
} }
tempNumber = [jsonRoot objectForKey:@"dexPoints"];
if (tempNumber != nil && [tempNumber isKindOfClass:[NSNumber class]]) {
self.dexterityScore = tempNumber.intValue;
}
return self; return self;
} }
@@ -129,7 +132,7 @@
} }
-(int)dexterityModifier { -(int)dexterityModifier {
@throw [[NSException alloc] initWithName:@"unimplemented" reason:@"Method not implemented." userInfo:nil]; return [Monster abilityModifierForScore:self.dexterityScore];
} }
-(int)constitutionModifier { -(int)constitutionModifier {
@@ -346,6 +349,7 @@
self.subtype = monster.subtype; self.subtype = monster.subtype;
self.alignment = monster.alignment; self.alignment = monster.alignment;
self.strengthScore = monster.strengthScore; self.strengthScore = monster.strengthScore;
self.dexterityScore = monster.dexterityScore;
} }
@end @end

View File

@@ -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}"; _jsonString = @"{\"name\":\"Acolyte\",\"size\":\"medium\",\"type\":\"humanoid\",\"tag\":\"any race\",\"alignment\":\"any alignment\",\"strPoints\":8,\"dexPoints\":10}";
_jsonData = [_jsonString dataUsingEncoding:NSUTF8StringEncoding]; _jsonData = [_jsonString dataUsingEncoding:NSUTF8StringEncoding];
} }
@@ -41,6 +41,7 @@
XCTAssertEqualObjects(@"", _monster.subtype); XCTAssertEqualObjects(@"", _monster.subtype);
XCTAssertEqualObjects(@"", _monster.alignment); XCTAssertEqualObjects(@"", _monster.alignment);
XCTAssertEqual(0, _monster.strengthScore); XCTAssertEqual(0, _monster.strengthScore);
XCTAssertEqual(0, _monster.dexterityScore);
} }
- (void)testInitWithJSONString { - (void)testInitWithJSONString {
@@ -53,6 +54,7 @@
XCTAssertEqualObjects(@"any race", _monster.subtype); XCTAssertEqualObjects(@"any race", _monster.subtype);
XCTAssertEqualObjects(@"any alignment", _monster.alignment); XCTAssertEqualObjects(@"any alignment", _monster.alignment);
XCTAssertEqual(8, _monster.strengthScore); XCTAssertEqual(8, _monster.strengthScore);
XCTAssertEqual(10, _monster.dexterityScore);
} }
- (void)testInitWithEmptyJSONString { - (void)testInitWithEmptyJSONString {
@@ -65,6 +67,7 @@
XCTAssertEqualObjects(@"", _monster.subtype); XCTAssertEqualObjects(@"", _monster.subtype);
XCTAssertEqualObjects(@"", _monster.alignment); XCTAssertEqualObjects(@"", _monster.alignment);
XCTAssertEqual(0, _monster.strengthScore); XCTAssertEqual(0, _monster.strengthScore);
XCTAssertEqual(0, _monster.dexterityScore);
} }
- (void)testInitWithJSONData { - (void)testInitWithJSONData {
_monster = [[Monster alloc] initWithJSONData:_jsonData andContext:_context]; _monster = [[Monster alloc] initWithJSONData:_jsonData andContext:_context];
@@ -76,6 +79,7 @@
XCTAssertEqualObjects(@"any race", _monster.subtype); XCTAssertEqualObjects(@"any race", _monster.subtype);
XCTAssertEqualObjects(@"any alignment", _monster.alignment); XCTAssertEqualObjects(@"any alignment", _monster.alignment);
XCTAssertEqual(8, _monster.strengthScore); XCTAssertEqual(8, _monster.strengthScore);
XCTAssertEqual(10, _monster.dexterityScore);
} }
- (void)testNameGetterAndSetter { - (void)testNameGetterAndSetter {
@@ -118,6 +122,7 @@
XCTAssertEqualObjects(@"any race", _monster.subtype); XCTAssertEqualObjects(@"any race", _monster.subtype);
XCTAssertEqualObjects(@"any alignment", _monster.alignment); XCTAssertEqualObjects(@"any alignment", _monster.alignment);
XCTAssertEqual(8, _monster.strengthScore); XCTAssertEqual(8, _monster.strengthScore);
XCTAssertEqual(10, _monster.dexterityScore);
} }
- (void)testMetaWithNoFieldsSet { - (void)testMetaWithNoFieldsSet {
@@ -252,4 +257,20 @@
XCTAssertEqual(1, _monster.strengthModifier); XCTAssertEqual(1, _monster.strengthModifier);
} }
- (void)testDexterityScoreGetterAndSetter {
_monster.dexterityScore = 11;
XCTAssertEqual(11, _monster.dexterityScore);
}
- (void)testDexterityModifier {
_monster.dexterityScore = 9;
XCTAssertEqual(-1, _monster.dexterityModifier);
_monster.dexterityScore = 10;
XCTAssertEqual(0, _monster.dexterityModifier);
_monster.dexterityScore = 12;
XCTAssertEqual(1, _monster.dexterityModifier);
}
@end @end