From 52a7ba871a54704453adf088512f9cb608008066 Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Sun, 13 Sep 2020 02:47:58 -0700 Subject: [PATCH] Adds abilityModifierForScore and tests. --- iOS/MonsterCards/Models/Monster.m | 2 +- iOS/MonsterCardsTests/Models/MonsterTests.m | 25 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/iOS/MonsterCards/Models/Monster.m b/iOS/MonsterCards/Models/Monster.m index 23c5a16..6f2eb1d 100644 --- a/iOS/MonsterCards/Models/Monster.m +++ b/iOS/MonsterCards/Models/Monster.m @@ -44,7 +44,7 @@ @synthesize wisdomScore; +(int)abilityModifierForScore: (int)score { - @throw [[NSException alloc] initWithName:@"unimplemented" reason:@"Method not implemented." userInfo:nil]; + return (int)floor((score - 10) / 2.0); } +(int)hitDieForSize: (NSString*)size{ diff --git a/iOS/MonsterCardsTests/Models/MonsterTests.m b/iOS/MonsterCardsTests/Models/MonsterTests.m index 224aa70..8324113 100644 --- a/iOS/MonsterCardsTests/Models/MonsterTests.m +++ b/iOS/MonsterCardsTests/Models/MonsterTests.m @@ -206,4 +206,29 @@ XCTAssertEqualObjects(@"large humanoid (elf) chaotic good", _monster.meta); } +- (void)testAbilityModifierForScore { + XCTAssertEqual(-6, [Monster abilityModifierForScore:-1]); + XCTAssertEqual(-5, [Monster abilityModifierForScore:0]); + XCTAssertEqual(-5, [Monster abilityModifierForScore:1]); + XCTAssertEqual(-4, [Monster abilityModifierForScore:2]); + XCTAssertEqual(-4, [Monster abilityModifierForScore:3]); + XCTAssertEqual(-3, [Monster abilityModifierForScore:4]); + XCTAssertEqual(-3, [Monster abilityModifierForScore:5]); + XCTAssertEqual(-2, [Monster abilityModifierForScore:6]); + XCTAssertEqual(-2, [Monster abilityModifierForScore:7]); + XCTAssertEqual(-1, [Monster abilityModifierForScore:8]); + XCTAssertEqual(-1, [Monster abilityModifierForScore:9]); + XCTAssertEqual(0, [Monster abilityModifierForScore:10]); + XCTAssertEqual(0, [Monster abilityModifierForScore:11]); + XCTAssertEqual(1, [Monster abilityModifierForScore:12]); + XCTAssertEqual(1, [Monster abilityModifierForScore:13]); + XCTAssertEqual(2, [Monster abilityModifierForScore:14]); + XCTAssertEqual(2, [Monster abilityModifierForScore:15]); + XCTAssertEqual(3, [Monster abilityModifierForScore:16]); + XCTAssertEqual(3, [Monster abilityModifierForScore:17]); + XCTAssertEqual(4, [Monster abilityModifierForScore:18]); + XCTAssertEqual(4, [Monster abilityModifierForScore:19]); + XCTAssertEqual(5, [Monster abilityModifierForScore:20]); +} + @end