blob: 748a2423ca811042e3893ec44015a381e71e007e [file] [log] [blame] [edit]
//
// 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