Exemple #1
0
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());  
  
}
Exemple #3
0
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));  
  
}
Exemple #5
0
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));        
}