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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
- (void)listTests
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFList *list;
TEST(@"+[list]", (list = [OFList list]))
TEST(@"-[append:]", [list append: strings[0]] &&
[list append: strings[1]] && [list append: strings[2]])
TEST(@"-[first]", [[list first]->object isEqual: strings[0]])
TEST(@"-[first]->next",
[[list first]->next->object isEqual: strings[1]])
TEST(@"-[last]", [[list last]->object isEqual: strings[2]])
TEST(@"-[last]->prev", [[list last]->prev->object isEqual: strings[1]])
TEST(@"-[remove:]", R([list remove: [list last]]) &&
[[list last]->object isEqual: strings[1]] &&
R([list remove: [list first]]) &&
[[list first]->object isEqual: [list last]->object])
TEST(@"-[insert:before:]", [list insert: strings[0]
before: [list last]] &&
[[list last]->prev->object isEqual: strings[0]])
TEST(@"-[insert:after:]", [list insert: strings[2]
after: [list first]->next] &&
[[list last]->object isEqual: strings[2]])
TEST(@"-[count]", [list count] == 3)
TEST(@"-[copy]", (list = [[list copy] autorelease]) &&
[[list first]->object isEqual: strings[0]] &&
[[list first]->next->object isEqual: strings[1]] &&
[[list last]->object isEqual: strings[2]])
TEST(@"-[isEqual:]", [list isEqual: [[list copy] autorelease]])
[pool drain];
}
@end
|
|
|
>
|
|
|
>
|
>
|
|
>
|
|
|
>
|
>
|
|
|
>
|
|
|
|
|
|
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
- (void)listTests
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFList *list;
TEST(@"+[list]", (list = [OFList list]))
TEST(@"-[appendObject:]", [list appendObject: strings[0]] &&
[list appendObject: strings[1]] && [list appendObject: strings[2]])
TEST(@"-[firstListObject]",
[[list firstListObject]->object isEqual: strings[0]])
TEST(@"-[firstListObject]->next",
[[list firstListObject]->next->object isEqual: strings[1]])
TEST(@"-[lastListObject]",
[[list lastListObject]->object isEqual: strings[2]])
TEST(@"-[lastListObject]->prev",
[[list lastListObject]->prev->object isEqual: strings[1]])
TEST(@"-[removeListObject:]",
R([list removeListObject: [list lastListObject]]) &&
[[list lastListObject]->object isEqual: strings[1]] &&
R([list removeListObject: [list firstListObject]]) &&
[[list firstListObject]->object isEqual:
[list lastListObject]->object])
TEST(@"-[insertObject:beforeListObject:]",
[list insertObject: strings[0]
beforeListObject: [list lastListObject]] &&
[[list lastListObject]->prev->object isEqual: strings[0]])
TEST(@"-[insertObject:afterListObject:]",
[list insertObject: strings[2]
afterListObject: [list firstListObject]->next] &&
[[list lastListObject]->object isEqual: strings[2]])
TEST(@"-[count]", [list count] == 3)
TEST(@"-[copy]", (list = [[list copy] autorelease]) &&
[[list firstListObject]->object isEqual: strings[0]] &&
[[list firstListObject]->next->object isEqual: strings[1]] &&
[[list lastListObject]->object isEqual: strings[2]])
TEST(@"-[isEqual:]", [list isEqual: [[list copy] autorelease]])
[pool drain];
}
@end
|