Adds subtype to monster.

Adds EditMonsterViewController tests for editing subtype.
Adds tests for meta property of Monster.
This commit is contained in:
2020-09-12 17:16:36 -07:00
parent 42ddfbd52f
commit 0c1deecb5b
5 changed files with 186 additions and 14 deletions

View File

@@ -25,7 +25,7 @@
- (void)setUp {
_context = nil;
_monster = [[Monster alloc] initWithContext:_context];
_jsonString = @"{\"name\":\"Acolyte\",\"size\":\"medium\",\"type\":\"humanoid\"}";
_jsonString = @"{\"name\":\"Acolyte\",\"size\":\"medium\",\"type\":\"humanoid\",\"tag\":\"any race\"}";
_jsonData = [_jsonString dataUsingEncoding:NSUTF8StringEncoding];
}
@@ -38,6 +38,7 @@
XCTAssertEqualObjects(@"", _monster.name);
XCTAssertEqualObjects(@"", _monster.size);
XCTAssertEqualObjects(@"", _monster.type);
XCTAssertEqualObjects(@"", _monster.subtype);
}
- (void)testInitWithJSONString {
@@ -47,6 +48,7 @@
XCTAssertEqualObjects(@"Acolyte", _monster.name);
XCTAssertEqualObjects(@"medium", _monster.size);
XCTAssertEqualObjects(@"humanoid", _monster.type);
XCTAssertEqualObjects(@"any race", _monster.subtype);
}
- (void)testInitWithEmptyJSONString {
@@ -56,6 +58,7 @@
XCTAssertEqualObjects(@"", _monster.name);
XCTAssertEqualObjects(@"", _monster.size);
XCTAssertEqualObjects(@"", _monster.type);
XCTAssertEqualObjects(@"", _monster.subtype);
}
- (void)testInitWithJSONData {
_monster = [[Monster alloc] initWithJSONData:_jsonData andContext:_context];
@@ -64,6 +67,7 @@
XCTAssertEqualObjects(@"Acolyte", _monster.name);
XCTAssertEqualObjects(@"medium", _monster.size);
XCTAssertEqualObjects(@"humanoid", _monster.type);
XCTAssertEqualObjects(@"any race", _monster.subtype);
}
- (void)testNameGetterAndSetter {
@@ -84,6 +88,12 @@
XCTAssertEqualObjects(type, _monster.type);
}
- (void)testSubtypeGetterAndSetter {
NSString *subtype = @"elf";
_monster.subtype = subtype;
XCTAssertEqualObjects(subtype, _monster.subtype);
}
- (void)testCopyFromMonster {
Monster *otherMonster = [[Monster alloc] initWithJSONString:_jsonString andContext:_context];
[_monster copyFromMonster:otherMonster];
@@ -92,6 +102,52 @@
XCTAssertEqualObjects(@"Acolyte", _monster.name);
XCTAssertEqualObjects(@"medium", _monster.size);
XCTAssertEqualObjects(@"humanoid", _monster.type);
XCTAssertEqualObjects(@"any race", _monster.subtype);
}
- (void)testMetaWithNoFieldsSet {
XCTAssertEqualObjects(@"", _monster.meta);
}
- (void)testMetaWithSize {
_monster.size = @"large";
XCTAssertEqualObjects(@"large", _monster.meta);
}
- (void)testMetaWithType {
_monster.type = @"humanoid";
XCTAssertEqualObjects(@"humanoid", _monster.meta);
}
- (void)testMetaWithSizeAndType {
_monster.size = @"large";
_monster.type = @"humanoid";
XCTAssertEqualObjects(@"large humanoid", _monster.meta);
}
- (void)testMetaWithSubtype {
_monster.subtype = @"elf";
XCTAssertEqualObjects(@"(elf)", _monster.meta);
}
- (void)testMetaWithSizeAndSubtype {
_monster.size = @"large";
_monster.subtype = @"elf";
XCTAssertEqualObjects(@"large (elf)", _monster.meta);
}
- (void)testMetaWithTypeAndSubtype {
_monster.type = @"humanoid";
_monster.subtype = @"elf";
XCTAssertEqualObjects(@"humanoid (elf)", _monster.meta);
}
- (void)testMetaWithSizeTypeAndSubtype {
_monster.size = @"large";
_monster.type = @"humanoid";
_monster.subtype = @"elf";
XCTAssertEqualObjects(@"large humanoid (elf)", _monster.meta);
}
@end