| // | |
| // MockTests.m | |
| // SwiftExamples | |
| // | |
| // Created by Erik Doernenburg on 11/06/2014. | |
| // Copyright (c) 2014 Mulle Kybernetik. All rights reserved. | |
| // | |
| #import <XCTest/XCTest.h> | |
| #import <OCMock/OCMock.h> | |
| #import "SwiftExamplesTests-Swift.h" | |
| @interface MockTests : XCTestCase | |
| @end | |
| @implementation MockTests | |
| - (void)testThatOCMockWorksInSwiftProject | |
| { | |
| id mock = OCMClassMock([NSString class]); | |
| [mock lowercaseString]; | |
| OCMVerify([mock lowercaseString]); | |
| } | |
| - (void)testMockingAnObject | |
| { | |
| id mock = OCMClassMock([ServerConnection class]); | |
| OCMStub([mock fetchData]).andReturn(@"stubbed!"); | |
| Controller *controller = [Controller newController]; | |
| controller.connection = mock; | |
| [controller redisplay]; | |
| OCMVerify([mock fetchData]); | |
| XCTAssertEqualObjects(@"stubbed!", controller.data, @"Excpected stubbed data in controller."); | |
| } | |
| - (void)testPartiallyMockingAnObject | |
| { | |
| ServerConnection *testConnection = [ServerConnection new]; | |
| id mock = OCMPartialMock(testConnection); | |
| OCMStub([mock fetchData]).andReturn(@"stubbed!"); | |
| Controller *controller = [Controller newController]; | |
| controller.connection = testConnection; | |
| [controller redisplay]; | |
| OCMVerify([mock fetchData]); | |
| XCTAssertEqualObjects(@"stubbed!", controller.data, @"Excpected stubbed data in controller."); | |
| } | |
| - (void)testPartiallyMockingAnObject2 | |
| { | |
| Controller *controller = [Controller newController]; | |
| id mock = OCMPartialMock((NSObject *)controller.connection); // we know connection is derived from NSObject... | |
| OCMStub([mock fetchData]).andReturn(@"stubbed!"); | |
| [controller redisplay]; | |
| OCMVerify([mock fetchData]); | |
| XCTAssertEqualObjects(@"stubbed!", controller.data, @"Excpected stubbed data in controller."); | |
| } | |
| @end |