/* * Author: Sergei Golovin */ #import "TestCase.h" @implementation TestCase - (id) init { if ((self = [super init]) != nil) { [self resetFlags]; [self setReferenceFlags: NORESULTS]; _failed = NO; _done = NO; } return self; } - (void) dealloc { [self tearDownTest: _extra]; [super dealloc]; } /* TestProgress */ - (void) resetFlags { _flags = NORESULTS; } - (void) setFlags:(NSUInteger)mask { _flags = _flags | mask; } - (void) unsetFlags:(NSUInteger)mask { _flags = _flags & ~mask; } - (BOOL) isFlagSet:(NSUInteger)mask { return ((_flags & mask) == mask); } - (void) resetReferenceFlags { _refFlags = NORESULTS; } - (void) setReferenceFlags:(NSUInteger)mask { _refFlags = _refFlags | mask; } - (void) unsetReferenceFlags:(NSUInteger)mask { _refFlags = _refFlags & ~mask; } - (BOOL) isReferenceFlagSet:(NSUInteger)mask { return ((_refFlags & mask) == mask); } - (BOOL) isSuccess { if(!_failed && (_flags == _refFlags)) { return YES; } return NO; } /* end of TestProgress */ - (void)setUpTest:(id)extra { [self resetFlags]; [self resetReferenceFlags]; _failed = NO; _done = NO; ASSIGN(_extra, extra); } - (void)startTest:(id)extra { // does nothing } - (void)tearDownTest:(id)extra { DESTROY(_extra); } - (void)setDebug:(BOOL)flag { _debug = flag; } @end /* TestCase */