File: test02.m

package info (click to toggle)
gnustep-base 1.31.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 26,580 kB
  • sloc: objc: 239,446; ansic: 36,519; cpp: 122; sh: 112; makefile: 100; xml: 32
file content (57 lines) | stat: -rw-r--r-- 1,467 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#import "Testing.h"
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSObject.h>
/* Nicola Pero, Tue Dec 18 17:54:53 GMT 2001 */
@protocol DoingNothing
- (void) doNothing;
@end

@protocol DoingNothingCategory
- (void) doNothingCategory;
@end


@interface NicolaTest : NSObject <DoingNothing>
{
}
@end

@implementation NicolaTest
- (void) doNothing
{
  return;
}
@end

@interface NicolaTest (Category) <DoingNothingCategory>
@end

@implementation NicolaTest (Category)
- (void) doNothingCategory
{
  return;
}
@end


int main()
{
  ENTER_POOL
  id	instance = AUTORELEASE([NicolaTest new]);

  PASS([NicolaTest conformsToProtocol:@protocol(DoingNothing)],
       "+conformsToProtocol returns YES on an implemented protocol");
  PASS([NicolaTest conformsToProtocol:@protocol(DoingNothingCategory)],
       "+conformsToProtocol returns YES on a protocol implemented in a category");
  PASS(![NicolaTest conformsToProtocol:@protocol(NSCoding)],
       "+conformsToProtocol returns NO on an unimplemented protocol");
  PASS([instance conformsToProtocol:@protocol(DoingNothing)],
       "-conformsToProtocol returns YES on an implemented protocol");
  PASS([instance conformsToProtocol:@protocol(DoingNothingCategory)],
       "-conformsToProtocol returns YES on a protocol implemented in a category"); 
  PASS(![instance conformsToProtocol:@protocol(NSCoding)],
       "-conformsToProtocol returns NO on an unimplemented protocol");

  LEAVE_POOL
  return 0;
}