home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / c / objam01.lha / objam / test / runtimeTest.m < prev   
Encoding:
Text File  |  1995-01-17  |  1.3 KB  |  62 lines

  1. #include <stdio.h>
  2. #import <objc/Object.h>
  3.  
  4.  
  5. void zoneTest(void)
  6. {
  7.   NXZone *zone;
  8.   void *mem;
  9.   const char *zoneName="Test Zone";
  10.  
  11.   puts("\n======================================== Zone Test");
  12.  
  13.   if(zone=NXCreateZone(vm_page_size,vm_page_size,YES))
  14.   {
  15.     NXNameZone(zone,zoneName);
  16.     printf("Zone created at %d with name '%s'.\n",(int)zone,zoneName);
  17.     if(mem=NXZoneMalloc(zone,20))
  18.     {
  19.       printf("Memory allocated at %d.\n",(int)mem);
  20.       
  21.       NXZonePtrInfo(mem);
  22.       
  23.       NXZoneFree(zone,mem);
  24.       puts("Memory freed.");
  25.     }
  26.     NXDestroyZone(zone);
  27.     puts("Zone destroyed.");
  28.   }
  29. }
  30.  
  31.  
  32. void atomTest(void)
  33. {
  34.   NXAtom atom1,atom2,atom3,atom4;
  35.   static const char *str1="foo";
  36.  
  37.   puts("\n======================================== Atom Test");
  38.  
  39.   atom1=NXUniqueStringNoCopy(str1);
  40.   atom2=NXUniqueString("bar");
  41.   atom3=NXUniqueString("foobar");
  42.   atom4=NXUniqueString("bar");
  43.  
  44.   printf("Addresses: %x, %x, %x, %x\n",atom1,atom2,atom3,atom4);
  45.   printf("Contents: %s, %s, %s, %s\n",atom1,atom2,atom3,atom4);
  46.  
  47.   if(atom3==NXUniqueString("foobar")) puts("Same.");
  48.   else puts("Different.");
  49. }
  50.  
  51.  
  52. int main(void)
  53. {
  54.   if(ObjcBase) puts("Opened objc.library successfully.");
  55.   else { puts("No ObjcBase!"); return 20; }
  56.   
  57.   zoneTest();
  58.   atomTest();
  59.   
  60.   return 0;
  61. }
  62.