#include #include int main(void) { printf("PXObject test (alloc)\n"); PXObject *object = [PXObject alloc]; 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 two-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; }