@@ -13,45 +13,51 @@ * file. */ #include "config.h" -#import "TestsAppDelegate.h" - -static OFString *module; - -@implementation TestsAppDelegate (OFASN1DERRepresentationTests) -- (void)ASN1DERRepresentationTests -{ - void *pool = objc_autoreleasePoolPush(); +#import "ObjFW.h" +#import "ObjFWTest.h" + +@interface OFASN1DERRepresentationTests: OTTestCase +@end + +@implementation OFASN1DERRepresentationTests +- (void)testBitString +{ OFData *data; - module = @"OFASN1BitString"; - TEST(@"-[ASN1DERRepresentation]", - (data = [OFData dataWithItems: "\xFF\x00\xF8" count: 3]) && - [[[OFASN1BitString bitStringWithBitString: data length: 21] - ASN1DERRepresentation] isEqual: - [OFData dataWithItems: "\x03\x04\x03\xFF\x00\xF8" count: 6]] && - (data = [OFData dataWithItems: "abcdefäöü" count: 12]) && - [[[OFASN1BitString bitStringWithBitString: data length: 12 * 8] - ASN1DERRepresentation] isEqual: - [OFData dataWithItems: "\x03\x0D\x00" "abcdefäöü" count: 15]] && - (data = [OFData dataWithItems: "" count: 0]) && - [[[OFASN1BitString bitStringWithBitString: data length: 0] - ASN1DERRepresentation] isEqual: - [OFData dataWithItems: "\x03\x01\x00" count: 3]]) - - module = @"OFNumber"; - TEST(@"-[ASN1DERRepresentation] for bool", - [[[OFNumber numberWithBool: false] ASN1DERRepresentation] - isEqual: [OFData dataWithItems: "\x01\x01\x00" count: 3]] && - [[[OFNumber numberWithBool: true] ASN1DERRepresentation] - isEqual: [OFData dataWithItems: "\x01\x01\xFF" count: 3]]) - - module = @"OFNull"; - TEST(@"-[OFASN1DERRepresentation]", - [[[OFNull null] ASN1DERRepresentation] isEqual: - [OFData dataWithItems: "\x05\x00" count: 2]]) - - objc_autoreleasePoolPop(pool); + data = [OFData dataWithItems: "\xFF\x00\xF8" count: 3]; + OTAssertEqualObjects([[OFASN1BitString + bitStringWithBitString: data + length: 21] ASN1DERRepresentation], + [OFData dataWithItems: "\x03\x04\x03\xFF\x00\xF8" count: 6]); + + data = [OFData dataWithItems: "abcdefäöü" count: 12]; + OTAssertEqualObjects([[OFASN1BitString + bitStringWithBitString: data + length: 12 * 8] ASN1DERRepresentation], + [OFData dataWithItems: "\x03\x0D\x00" "abcdefäöü" count: 15]); + + OTAssertEqualObjects([[OFASN1BitString + bitStringWithBitString: [OFData data] + length: 0] ASN1DERRepresentation], + [OFData dataWithItems: "\x03\x01\x00" count: 3]); +} + +- (void)testInteger +{ + OTAssertEqualObjects( + [[OFNumber numberWithBool: false] ASN1DERRepresentation], + [OFData dataWithItems: "\x01\x01\x00" count: 3]); + + OTAssertEqualObjects( + [[OFNumber numberWithBool: true] ASN1DERRepresentation], + [OFData dataWithItems: "\x01\x01\xFF" count: 3]); +} + +- (void)testNull +{ + OTAssertEqualObjects([[OFNull null] ASN1DERRepresentation], + [OFData dataWithItems: "\x05\x00" count: 2]); } @end