libs-base/Testing/heap.m
fedor 0704032dc4 Remove non-Openstep classes. More WIN32 changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@6669 72102866-910b-0410-8b05-ffd578937521
2000-06-13 14:50:40 +00:00

53 lines
996 B
Objective-C

/* Test Heap class. */
#include <base/all.h>
#include <Foundation/NSValue.h>
#include <Foundation/NSAutoreleasePool.h>
#define N 20
#if defined(__svr4__) || defined(__hpux) || defined(_SEQUENT_)
long lrand48();
#define random lrand48
#endif
int main()
{
int i, s;
id s1, s2;
id arp;
Heap* heap = [Heap new];
Array* array = [Array new];
arp = [NSAutoreleasePool new];
for (i = 0; i < N; i++)
{
s = random () % 100;
[heap addObject: [NSNumber numberWithInt: s]];
[array addObject: [NSNumber numberWithInt: s]];
}
[array sortContents];
[heap printForDebugger];
[array printForDebugger];
for (i = 0; i < N; i++)
{
s1 = [heap firstObject];
s2 = [array firstObject];
[heap removeFirstObject];
[array removeFirstObject];
printf("(%d,%d) ", [s1 intValue], [s2 intValue]);
assert ([s1 intValue] == [s2 intValue]);
}
printf("\n");
[heap release];
[array release];
[arp release];
exit(0);
}