| // | |
| // iOS5ExampleTests.m | |
| // iOS5ExampleTests | |
| // | |
| #import <OCMock/OCMock.h> | |
| #import "MasterViewController.h" | |
| #import "iOS5ExampleTests.h" | |
| @implementation iOS5ExampleTests | |
| - (void)setUp | |
| { | |
| [super setUp]; | |
| // Set-up code here. | |
| } | |
| - (void)tearDown | |
| { | |
| // Tear-down code here. | |
| [super tearDown]; | |
| } | |
| - (void)testMasterViewControllerDeletesItemsFromTableView | |
| { | |
| // Test set-up | |
| MasterViewController *controller = [[MasterViewController alloc] init]; | |
| NSIndexPath *dummyIndexPath = [NSIndexPath indexPathWithIndex:3]; | |
| id tableViewMock = [OCMockObject mockForClass:[UITableView class]]; | |
| [[tableViewMock expect] deleteRowsAtIndexPaths:[NSArray arrayWithObject:dummyIndexPath] withRowAnimation:UITableViewRowAnimationFade]; | |
| // Invoke functionality to be tested | |
| // If you want to see the test fail you can, for example, change the editing style to UITableViewCellEditingStyleNone. In | |
| // that case the method in the controller does not make a call to the table view and the mock will raise an exception when | |
| // verify is called further down. | |
| [controller tableView:tableViewMock commitEditingStyle:UITableViewCellEditingStyleDelete forRowAtIndexPath:dummyIndexPath]; | |
| // Verify that expectations were met | |
| [tableViewMock verify]; | |
| } | |
| @end |