#include #include int main(void) { printf("PXObject test "); #ifdef PARADOX_DEBUG_FEATURES printf("(allocDebug)\n"); #else printf("(alloc)\n"); printf("Note: Paradox compiled without debug features, using alloc instead of allocDebug\n"); #endif #ifdef PARADOX_DEBUG_FEATURES PXObject *object = [PXObject allocDebug]; #else PXObject *object = [PXObject alloc]; #endif if (object == nil) { fprintf(stderr, "PXObject failed to alloc :c\n"); return 1; } object = [object init]; if (object == nil) { fprintf(stderr, "PXObject failed to init :c\n"); return 1; } [object release]; printf("If you got this far without segfaulting or crashing it means it allocated and initialized a PXObject, then released it. Yay!\n"); printf("\nPXObject multi-owner test (new)\n"); PXObject *object1 = [PXObject new]; PXObject *object2 = [object1 retain]; printf("object1 reference: %p\n", (void*)object1); [object1 release]; printf("object1 released\n"); printf("attempting retain on object2\n"); PXObject *object3 = [object2 retain]; printf("object2 reference: %p\n", (void*)object2); [object2 release]; printf("object2 released\n"); printf("object3 reference: %p\n", (void*)object3); [object3 release]; printf("object3 released\n"); printf("test complete\n"); return 0; }