Fixes typing in Language initializer.

Fixes default initializer of Language model.
Adds tests for Language model.
This commit is contained in:
2020-09-05 21:01:23 -07:00
parent bfcef65da3
commit 8a758448a0
4 changed files with 71 additions and 2 deletions

View File

@@ -32,6 +32,7 @@
E2FD91E425047C4400D5E935 /* AbilityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2FD91E325047C4400D5E935 /* AbilityTests.m */; };
E2FD91E6250481F300D5E935 /* ActionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2FD91E5250481F300D5E935 /* ActionTests.m */; };
E2FD91E82504832A00D5E935 /* DamageTypeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2FD91E72504832A00D5E935 /* DamageTypeTests.m */; };
E2FD91EA250493C000D5E935 /* LanguageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2FD91E9250493C000D5E935 /* LanguageTests.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -98,6 +99,7 @@
E2FD91E325047C4400D5E935 /* AbilityTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AbilityTests.m; sourceTree = "<group>"; };
E2FD91E5250481F300D5E935 /* ActionTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ActionTests.m; sourceTree = "<group>"; };
E2FD91E72504832A00D5E935 /* DamageTypeTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DamageTypeTests.m; sourceTree = "<group>"; };
E2FD91E9250493C000D5E935 /* LanguageTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LanguageTests.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -237,6 +239,7 @@
E2FD91E325047C4400D5E935 /* AbilityTests.m */,
E2FD91E5250481F300D5E935 /* ActionTests.m */,
E2FD91E72504832A00D5E935 /* DamageTypeTests.m */,
E2FD91E9250493C000D5E935 /* LanguageTests.m */,
);
path = Models;
sourceTree = "<group>";
@@ -395,6 +398,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E2FD91EA250493C000D5E935 /* LanguageTests.m in Sources */,
E2FD91E82504832A00D5E935 /* DamageTypeTests.m in Sources */,
E2FD91E6250481F300D5E935 /* ActionTests.m in Sources */,
E2FD91E425047C4400D5E935 /* AbilityTests.m in Sources */,

View File

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
@property NSString* name;
@property BOOL speaks;
-(id)initWithName: (NSString*)name andSpeaks: (NSString*)canSpeak;
-(id)initWithName: (NSString*)name andSpeaks: (BOOL)canSpeak;
@end

View File

@@ -10,7 +10,16 @@
@implementation Language
-(id)initWithName: (NSString*)name andSpeaks: (NSString*)canSpeak {
-(id)init {
self = [super init];
self.name = @"";
self.speaks = YES;
return self;
}
-(id)initWithName: (NSString*)name andSpeaks: (BOOL)canSpeak {
self = [super init];
self.name = name;

View File

@@ -0,0 +1,56 @@
//
// Language.m
// MonsterCardsTests
//
// Created by Tom Hicks on 9/5/20.
// Copyright © 2020 Tom Hicks. All rights reserved.
//
#import <XCTest/XCTest.h>
#import "Language.h"
@interface LanguageTests : XCTestCase
@end
@implementation LanguageTests {
Language *_language;
NSString *_name;
BOOL _canSpeak;
}
- (void)setUp {
_language = [[Language alloc] init];
_name = @"English";
_canSpeak = YES;
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
- (void)testDefaultInitializer {
XCTAssertNotNil(_language);
XCTAssertEqualObjects(@"", _language.name);
XCTAssertEqual(YES, _language.speaks);
}
- (void)testInitWithNameAndSpeaks {
_language = [[Language alloc] initWithName:_name andSpeaks:_canSpeak];
XCTAssertNotNil(_language);
XCTAssertEqualObjects(_name, _language.name);
XCTAssertEqual(_canSpeak, _language.speaks);
}
- (void)testNameGetterAndSetter {
_language.name = _name;
XCTAssertEqualObjects(_name, _language.name);
}
- (void)testSpeaksGetterAndSetter {
_language.speaks = NO;
XCTAssertEqual(NO, _language.speaks);
}
@end