]> git.wincent.com - WOTest.git/blob - Tests/WOProtocolStubTests.m
Code clean-up for garbage collection
[WOTest.git] / Tests / WOProtocolStubTests.m
1 //
2 //  WOProtocolStubTests.m
3 //  WOTest
4 //
5 //  Created by Wincent Colaiuta on 10 February 2006.
6 //
7 //  Copyright 2006-2007 Wincent Colaiuta.
8 //  This program is free software: you can redistribute it and/or modify
9 //  it under the terms of the GNU General Public License as published by
10 //  the Free Software Foundation, either version 3 of the License, or
11 //  (at your option) any later version.
12 //
13 //  This program is distributed in the hope that it will be useful,
14 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
15 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 //  GNU General Public License for more details.
17 //
18 //  You should have received a copy of the GNU General Public License
19 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 //
21
22 #import "WOProtocolStubTests.h"
23
24 @implementation WOProtocolStubTests
25
26 - (void)testStubForProtocol
27 {
28     // throws if passed NULL, otherwise works
29     WO_TEST_THROWS([WOProtocolStub stubForProtocol:NULL withDelegate:nil]);
30     WO_TEST_DOES_NOT_THROW([WOProtocolStub stubForProtocol:@protocol(WOTest) withDelegate:nil]);
31 }
32
33 - (void)testInitWithProtocol
34 {
35     // throws if passed NULL
36     WOProtocolStub *stub = [WOProtocolStub alloc];
37     WO_TEST_THROWS([stub initWithProtocol:NULL delegate:nil]);
38
39     // otherwise works
40     stub = [WOProtocolStub alloc];
41     WO_TEST_DOES_NOT_THROW([stub initWithProtocol:@protocol(WOTest) delegate:nil]);
42 }
43
44 - (void)testMethodSignatureForSelector
45 {
46     // throws if selector not present in protocol, otherwise works
47     WOProtocolStub *stub =
48         [WOProtocolStub stubForProtocol:@protocol(NSCopying) withDelegate:nil];
49     WO_TEST_THROWS([stub methodSignatureForSelector:@selector(retain)]);
50     WO_TEST_DOES_NOT_THROW
51         ([stub methodSignatureForSelector:@selector(copyWithZone:)]);
52 }
53
54 @end