#import #import "RNNNavigationOptions.h" @interface RNNNavigationOptionsTest : XCTestCase @end @implementation RNNNavigationOptionsTest - (void)setUp { [super setUp]; } -(void)testInitCreatesInstanceType{ RNNNavigationOptions* options = [[RNNNavigationOptions alloc] initWithDict:@{}]; XCTAssertTrue([options isKindOfClass:[RNNNavigationOptions class]]); } -(void)testAddsStyleFromDictionaryWithInit{ RNNNavigationOptions* options = [[RNNNavigationOptions alloc] initWithDict:@{@"topBarBackgroundColor" : @(0xff0000ff)}]; XCTAssertTrue(options.topBarBackgroundColor); } -(void)testReturnsNilWhenStyleDoesNotExist{ RNNNavigationOptions* options = [[RNNNavigationOptions alloc] initWithDict:@{@"topBarBackgroundColor" : @(0xff0000ff)}]; XCTAssertNil(options.topBarTextColor); } -(void)testChangeRNNNavigationOptionsDynamically{ RNNNavigationOptions* options = [[RNNNavigationOptions alloc] initWithDict:@{@"topBarBackgroundColor" : @(0xff0000ff)}]; NSDictionary* dynamicOptions = @{@"topBarTextColor" : @(0xffff00ff), @"title" : @"hello"}; [options mergeWith:dynamicOptions]; XCTAssertTrue([options.title isEqual:@"hello"]); } -(void)testChangeRNNNavigationOptionsWithInvalidProperties{ RNNNavigationOptions* options = [[RNNNavigationOptions alloc] initWithDict:@{@"topBarBackgroundColor" : @(0xff0000ff)}]; NSDictionary* dynamicOptions = @{@"titleeeee" : @"hello"}; XCTAssertThrows([options mergeWith:dynamicOptions]); } @end