void OggFLACTests::init_cookie() { std::ifstream f_in; char cookie[8192]; f_in.open("../tests/data/flac.ogg.cookie", std::ios::in); CPTAssert(f_in.good()); f_in.read(cookie, 8192); f_in.close(); AudioStreamBasicDescription in_dsc = {96000.0, 'XoFL', 0, 0, 0, 0, 6, 24, 0}; AudioStreamBasicDescription out_dsc = {96000.0, kAudioFormatLinearPCM, kAudioFormatFlagsNativeFloatPacked, 24, 1, 24, 6, 32, 0}; mOggDecoder->Initialize(&in_dsc, &out_dsc, NULL, 0); CPTAssert(mOggDecoder->IsInitialized()); mOggDecoder->Uninitialize(); CPTAssert(!mOggDecoder->IsInitialized()); mOggDecoder->Initialize(NULL, NULL, cookie, 4264); CPTAssert(mOggDecoder->IsInitialized()); }
void Ray2Tests::testBasics() { Ray2 ray1(Point2(2.0f, 0.0f), Vector2(2.0f, 0.0f)); Ray2 ray2(Point2(1.0f, 1.0f), Vector2(2.0f, 2.0f)); CPTAssert(ray1.origin() == Point2(2.0f, 0.0f)); CPTAssert(ray1.direction() == Point2(1.0f, 0.0f)); CPTAssert(ray2.origin() == Point2(1.0f, 1.0f)); CPTAssert(ray2.direction() == Point2(1.0f, 1.0f).unit()); }
void OggFLACTests::append_uninitialized() { UInt32 bytes = 0; UInt32 packets = 0; Boolean appended = false; try { mOggDecoder->AppendInputData(NULL, bytes, packets, NULL); appended = true; } catch (...) { }; CPTAssert(appended == false); }
void Ray2Tests::testSegmentIntersections() { Ray2 r1(Point2(1.0f, -10.0f), Vector2(0.0f, 1.0f)); Ray2 r2(Point2(1.0f, 10.0f), Vector2(0.0f, 1.0f)); Ray2 r3(Point2(-2.0f, -10.0f), Vector2(0.0f, 1.0f)); Segment2 s1(Point2(-2.0f, 1.0f), Point2(2.0f, 1.0f)); Point2 p(0.0f, 0.0f); CPTAssert(r1.intersection(s1, p)); CPTAssert(p == Point2(1.0f, 1.0f)); CPTAssert(r3.intersection(s1, p)); CPTAssert(p == Point2(-2.0f, 1.0f)); CPTAssert(!r2.intersection(s1, p)); CPTAssert(p != Point2(1.0f, 1.0f)); }
void RingBufferTests::basic() { mBuffer->Initialize(32); CPTAssert(mBuffer->GetBufferByteSize() == 32); CPTAssert(mBuffer->GetSpaceAvailable() == 32); CPTAssert(mBuffer->GetDataAvailable() == 0); UInt32 b_size = mBuffer->Reallocate(16); // shouldn't reallocate CPTAssert(b_size == 32); CPTAssert(mBuffer->GetBufferByteSize() == 32); CPTAssert(mBuffer->GetSpaceAvailable() == 32); CPTAssert(mBuffer->GetDataAvailable() == 0); Byte *tmp_buf = new Byte[64]; memset(tmp_buf, 0, 64); tmp_buf[0] = 255; tmp_buf[1] = 15; tmp_buf[16] = 137; b_size = 63; mBuffer->In(tmp_buf, b_size); CPTAssert(b_size == 31); CPTAssert(mBuffer->GetBufferByteSize() == 32); CPTAssert(mBuffer->GetSpaceAvailable() == 0); CPTAssert(mBuffer->GetDataAvailable() == 32); CPTAssert(mBuffer->GetData()[0] == 255 && mBuffer->GetData()[1] == 15); mBuffer->Zap(32); CPTAssert(mBuffer->GetSpaceAvailable() == 32); CPTAssert(mBuffer->GetDataAvailable() == 0); b_size = mBuffer->Reallocate(48); CPTAssert(b_size == 48); CPTAssert(mBuffer->GetBufferByteSize() == 48); CPTAssert(mBuffer->GetSpaceAvailable() == 48); CPTAssert(mBuffer->GetDataAvailable() == 0); b_size = 32; mBuffer->In(tmp_buf, b_size); CPTAssert(b_size == 0); CPTAssert(mBuffer->GetDataAvailable() == 32); mBuffer->Zap(16); CPTAssert(mBuffer->GetDataAvailable() == 16); CPTAssert(mBuffer->GetData()[0] == 137); CPTAssert(mBuffer->GetDataAvailable() == 16); CPTAssert(mBuffer->GetSpaceAvailable() == 32); b_size = 31; mBuffer->In(tmp_buf, b_size); // should be wrapped now CPTAssert(b_size == 0); CPTAssert(mBuffer->GetDataAvailable() == 47); CPTAssert(mBuffer->GetSpaceAvailable() == 1); CPTAssert(mBuffer->GetData()[0] == 137); b_size = mBuffer->Reallocate(64); CPTAssert(b_size == 64); CPTAssert(mBuffer->GetBufferByteSize() == 64); CPTAssert(mBuffer->GetSpaceAvailable() == 17); CPTAssert(mBuffer->GetDataAvailable() == 47); //std::cout << "mBuffer->GetData()[0] == " << (UInt32) mBuffer->GetData()[0] << std::endl; CPTAssert(mBuffer->GetData()[0] == 137); mBuffer->Zap(16); // [255, 15] should be at the head CPTAssert(mBuffer->GetData()[0] == 255 && mBuffer->GetData()[1] == 15); b_size = 32; mBuffer->In(tmp_buf, b_size); // should be wrapped again b_size = mBuffer->Reallocate(96); CPTAssert(b_size == 96); CPTAssert(mBuffer->GetBufferByteSize() == 96); CPTAssert(mBuffer->GetSpaceAvailable() == 33); CPTAssert(mBuffer->GetDataAvailable() == 63); CPTAssert(mBuffer->GetData()[0] == 255 && mBuffer->GetData()[1] == 15); mBuffer->Uninitialize(); b_size = 32; mBuffer->In(tmp_buf, b_size); CPTAssert(b_size == 32); }
void Ray2Tests::testRectIntersections() { Rect2 rect(Vector2(1.0f, 1.0f), Vector2(4.0f, 4.0f)); Ray2 r1(Vector2(-1.0f, 2.0f), Vector2(1.0f, 0.0f)); // Enter from left Ray2 r2(Vector2(5.0f, 2.0f), Vector2(-1.0f, 0.0f)); // right Ray2 r3(Vector2(2.0f, -1.0f), Vector2(0.0f, 1.0f)); // bottom Ray2 r4(Vector2(2.0f, 5.0f), Vector2(0.0f, -1.0f)); // top Ray2 r5(Vector2(-1.0f, 2.0f), Vector2(-1.0f, 0.0f)); // Outside left Ray2 r6(Vector2(5.0f, 2.0f), Vector2(1.0f, 0.0f)); // right Ray2 r7(Vector2(2.0f, -1.0f), Vector2(0.0f, -1.0f)); // bottom Ray2 r8(Vector2(2.0f, 5.0f), Vector2(0.0f, 1.0f)); // top Ray2 r9(Vector2(2.0f, 2.0f), Vector2(1.0f, 1.0f)); // Inside out Ray2 r10(Vector2(2.0f, 3.0f), Vector2(1.0f, -2.0f)); // Inside out Ray2 r11(Vector2(1.2f, 3.0f), Vector2(-1.0f, -2.0f)); // Inside out Ray2 r12(Vector2(1.2f, 5.0f), Vector2(1.2f, 1.0f)); // Outside CPTAssert(r1.intersect(rect)); CPTAssert(r2.intersect(rect)); CPTAssert(r3.intersect(rect)); CPTAssert(r4.intersect(rect)); CPTAssert(!r5.intersect(rect)); CPTAssert(!r6.intersect(rect)); CPTAssert(!r7.intersect(rect)); CPTAssert(!r8.intersect(rect)); CPTAssert(r9.intersect(rect)); CPTAssert(r10.intersect(rect)); CPTAssert(r11.intersect(rect)); CPTAssert(!r12.intersect(rect)); }