session-ios/Signal/test/audio/SpeexCodecTest.m

40 lines
1.1 KiB
Objective-C

#import <XCTest/XCTest.h>
#import "SpeexCodec.h"
#import "TestUtil.h"
#import "Util.h"
@interface SpeexCodecTest : XCTestCase
@end
@implementation SpeexCodecTest
-(void) testSpeexConstantBitRate {
NSMutableData* x1 = [NSMutableData dataWithLength:320];
NSMutableData* x2 = [NSMutableData dataWithLength:320];
for (NSUInteger i = 0; i < [x2 length]; i++) {
[x2 setUint8At:i to:(uint8_t)(i & 255)];
}
SpeexCodec* c = [SpeexCodec speexCodec];
NSData* e100 = [c encode:x1];
NSData* e200 = [c encode:x2];
test([e200 length] == [e100 length]);
}
-(void) testSpeexRoundTripMaintainsLength {
NSMutableData* x1 = [NSMutableData dataWithLength:320];
NSMutableData* x2 = [NSMutableData dataWithLength:320];
for (NSUInteger i = 0; i < [x2 length]; i++) {
[x2 setUint8At:i to:(uint8_t)(i & 255)];
}
SpeexCodec* c = [SpeexCodec speexCodec];
NSData* e100 = [c encode:x1];
NSData* e200 = [c encode:x2];
NSData* d100 = [c decode:e100];
NSData* d200 = [c decode:e200];
test([d100 length] == [x1 length]);
test([d200 length] == [x2 length]);
}
@end