libs-base/Tests/base/NSArchiver/general.m
Richard Frith-MacDonald 31098241ae Update to current release
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/branches/stable@32970 72102866-910b-0410-8b05-ffd578937521
2011-05-03 13:19:28 +00:00

44 lines
1.5 KiB
Objective-C

#import <Foundation/NSString.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSArchiver.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSData.h>
#import <Foundation/NSFileManager.h>
#import "Testing.h"
#import "ObjectTesting.h"
int main()
{
NSAutoreleasePool *arp = [NSAutoreleasePool new];
NSString *val1, *val2, *val3;
NSArray *vals1, *vals2;
NSData *data1;
NSArray *a;
PASS_RUNS(val1 = [NSString stringWithCString:"Archiver.dat"];
val2 = [NSString stringWithCString:"A Goodbye"];
val3 = [NSString stringWithCString:"Testing all strings"];
vals1 = [[NSArray arrayWithObject:val1] arrayByAddingObject:val2];
vals2 = [vals1 arrayByAddingObject:val2];,
"We can build basic strings and arrays for tests");
data1 = [NSArchiver archivedDataWithRootObject:vals2];
PASS((data1 != nil && [data1 length] != 0),
"archivedDataWithRootObject: seems ok");
PASS([NSArchiver archiveRootObject:vals2 toFile:val1],
"archiveRootObject:toFile: seems ok");
a = [NSUnarchiver unarchiveObjectWithData:data1];
PASS((a != nil && [a isKindOfClass:[NSArray class]] && [a isEqual:vals2]),
"unarchiveObjectWithData: seems ok");
a = [NSUnarchiver unarchiveObjectWithFile:val1];
PASS((a != nil && [a isKindOfClass:[NSArray class]] && [a isEqual:vals2]),
"unarchiveObjectWithFile: seems ok");
[[NSFileManager defaultManager] removeFileAtPath: val1 handler: nil];
[arp release]; arp = nil;
return 0;
}