|  | // | 
|  | //  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 |