From 9e2c0d5bd42c94e4fb83fd3d5cda12b6485c7639 Mon Sep 17 00:00:00 2001 From: mccallum Date: Tue, 16 Apr 1996 21:29:40 +0000 Subject: [PATCH] New file. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1372 72102866-910b-0410-8b05-ffd578937521 --- Testing/heap.m | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Testing/heap.m diff --git a/Testing/heap.m b/Testing/heap.m new file mode 100644 index 000000000..446bdc08b --- /dev/null +++ b/Testing/heap.m @@ -0,0 +1,59 @@ +/* Test Heap class. */ + +#include +#include +#include + +#define N 20 + +#if (sun && __svr4__) || defined(__hpux) || defined(_SEQUENT_) +long lrand48(); +#define random lrand48 +#else +#if WIN32 +#define random rand +#else +long random(); +#endif +#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); +}