/* Test/example program for the base library Copyright (C) 2005 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is part of the GNUstep Base Library. */ #include #include #include #include #include void original_test (); void intersects_set_test(); void is_subset_of_set_test (); int main () { NSAutoreleasePool *arp = [NSAutoreleasePool new]; original_test (); intersects_set_test (); is_subset_of_set_test (); printf("Test passed\n"); [arp release]; exit (0); } void original_test () { id a, s1, s2; id enumerator; a = [NSArray arrayWithObjects: @"vache", @"poisson", @"cheval", @"poulet", nil]; s1 = [NSSet setWithArray:a]; assert ([s1 member:@"vache"]); assert ([s1 containsObject:@"cheval"]); assert ([s1 count] == 4); enumerator = [s1 objectEnumerator]; while ([[enumerator nextObject] description]); s2 = [s1 mutableCopy]; assert ([s1 isEqual:s2]); } void intersects_set_test() { id a1 = [NSArray arrayWithObjects: @"abstract factory", @"builder", @"factory method", @"prototype", @"singleton", nil]; id s1 = [NSSet setWithArray: a1]; id a2 = [NSArray arrayWithObjects: @"adapter", @"bridge", @"composite", @"decorator", @"facade", @"flyweight", @"Proxy", nil]; id s2 = [NSSet setWithArray: a2]; id s3 = [NSSet setWithObjects: @"abstract factory", @"adapter", nil]; id s4 = [NSSet setWithObject: @"chain of responsibility"]; id s5 = [NSSet set]; assert (![s1 intersectsSet: s2]); assert (![s2 intersectsSet: s1]); assert ([s1 intersectsSet: s3]); assert ([s2 intersectsSet: s3]); assert ([s3 intersectsSet: s1]); assert ([s3 intersectsSet: s2]); assert (![s1 intersectsSet: s4]); assert (![s2 intersectsSet: s4]); assert (![s4 intersectsSet: s1]); assert (![s4 intersectsSet: s2]); assert (![s1 intersectsSet: s5]); assert (![s2 intersectsSet: s5]); assert (![s3 intersectsSet: s5]); assert (![s4 intersectsSet: s5]); assert (![s5 intersectsSet: s5]); assert (![s5 intersectsSet: s1]); assert (![s5 intersectsSet: s2]); assert (![s5 intersectsSet: s3]); assert (![s5 intersectsSet: s4]); assert (![s5 intersectsSet: s5]); } void is_subset_of_set_test () { id a1 = [NSArray arrayWithObjects: @"abstract factory", @"builder", @"factory method", @"prototype", @"singleton", nil]; id s1 = [NSSet setWithArray: a1]; id a2 = [NSArray arrayWithObjects: @"adapter", @"bridge", @"composite", @"decorator", @"facade", @"flyweight", @"proxy", nil]; id s2 = [NSSet setWithArray: a2]; id s3 = [NSSet setWithObjects: @"abstract factory", nil]; id s4 = [NSSet setWithObjects: @"adapter", @"proxy", nil]; id s5 = [NSSet setWithObject: @"chain of responsibility"]; id s6 = [NSSet set]; assert ([s3 isSubsetOfSet: s1]); assert ([s4 isSubsetOfSet: s2]); assert ([s6 isSubsetOfSet: s1]); assert ([s6 isSubsetOfSet: s2]); assert ([s6 isSubsetOfSet: s3]); assert ([s6 isSubsetOfSet: s4]); assert ([s6 isSubsetOfSet: s5]); assert ([s6 isSubsetOfSet: s6]); assert (![s1 isSubsetOfSet: s6]); assert (![s1 isSubsetOfSet: s5]); assert (![s1 isSubsetOfSet: s4]); assert (![s1 isSubsetOfSet: s3]); assert (![s1 isSubsetOfSet: s2]); }