14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#import "OFString.h"
#import "OFAutoreleasePool.h"
#import "OFExceptions.h"
#import "TestsAppDelegate.h"
static OFString *module = @"OFObject";
@implementation TestsAppDelegate (OFObjectTests)
- (void)objectTests
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFObject *obj = [[[OFObject alloc] init] autorelease];
void *p, *q, *r;
EXPECT_EXCEPTION(@"Detect freeing of memory not allocated by object",
OFMemoryNotPartOfObjectException, [obj freeMemory: (void*)1])
TEST(@"Allocating 4096 bytes",
(p = [obj allocMemoryWithSize: 4096]) != NULL)
|
>
>
>
>
>
>
>
>
|
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
|
#import "OFString.h"
#import "OFAutoreleasePool.h"
#import "OFExceptions.h"
#import "TestsAppDelegate.h"
static OFString *module = @"OFObject";
@interface MyObj: OFObject
@end
@implementation MyObj
@end
@implementation TestsAppDelegate (OFObjectTests)
- (void)objectTests
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFObject *obj = [[[OFObject alloc] init] autorelease];
void *p, *q, *r;
OFObject *o;
MyObj *m;
EXPECT_EXCEPTION(@"Detect freeing of memory not allocated by object",
OFMemoryNotPartOfObjectException, [obj freeMemory: (void*)1])
TEST(@"Allocating 4096 bytes",
(p = [obj allocMemoryWithSize: 4096]) != NULL)
|
61
62
63
64
65
66
67
68
69
70
|
toSize: 1024]) != NULL)
[obj freeMemory: p];
EXPECT_EXCEPTION(@"Detect resizing of memory not allocated by object",
OFMemoryNotPartOfObjectException, [obj resizeMemory: (void*)1
toSize: 1024])
[pool drain];
}
@end
|
>
>
>
>
>
>
>
>
>
>
>
>
>
|
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
toSize: 1024]) != NULL)
[obj freeMemory: p];
EXPECT_EXCEPTION(@"Detect resizing of memory not allocated by object",
OFMemoryNotPartOfObjectException, [obj resizeMemory: (void*)1
toSize: 1024])
TEST(@"+[description]",
[[OFObject description] isEqual: @"OFObject"] &&
[[MyObj description] isEqual: @"MyObj"])
o = [[[OFObject alloc] init] autorelease];
m = [[[MyObj alloc] init] autorelease];
TEST(@"-[description]",
[[o description] isEqual:
([OFString stringWithFormat: @"<OFObject: %p>", o])] &&
[[m description] isEqual:
([OFString stringWithFormat: @"<MyObj: %p>", m])])
[pool drain];
}
@end
|