Show
Ignore:
Timestamp:
10/26/07 16:07:17 (6 years ago)
Author:
jgaeddert
Message:

PACKET_RS_512 can now create/extract packets of variable length input data (up to 512); output is still always 1024

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • experimental/components/Packetizer/trunk/Packetizer-metadata/tests/CreateExtract_testsuite.h

    r5519 r5532  
    151151    } 
    152152 
     153    // 
     154    // Test for creating and extracting a truncated packet of type PACKET_RS_512 
     155    //  
     156    void test_CreateExtract_PACKET_RS_512_02() { 
     157        PacketEncoder p; 
     158        PacketDecoder d; 
     159 
     160        // generate truncated input buffer 
     161        unsigned char input[147]; 
     162        for (unsigned int i=0; i<147; i++) 
     163            input[i] = rand() & 0x01; 
     164 
     165        // generate packet buffer 
     166        unsigned char packet[2048]; 
     167        memset( packet, 0x01, 2048*sizeof(char) ); 
     168        unsigned int nr; 
     169        unsigned int nw; 
     170 
     171        // generate output buffer 
     172        unsigned char output[2048]; 
     173        memset( output, 0xFF, 2048*sizeof(char) ); 
     174 
     175        // Initialize properties 
     176        p.packet_id = 32768; 
     177        p.src_id = 247; 
     178        p.dst_id = 129; 
     179        p.port_id = 189; 
     180        p.app_id = 10; 
     181        p.ConfigurePacketType( PACKET_RS_512 ); 
     182 
     183        // encode packet data 
     184         
     185        p.CreatePacket( input, 147, nr, &packet[0], 2048, nw ); 
     186        TS_ASSERT_EQUALS( nr, 147 ); 
     187        TS_ASSERT_EQUALS( nw, 1024 ); 
     188 
     189        // extract and decode packet data 
     190 
     191        bool packet_extracted; 
     192        d.packet_id = 0; 
     193        d.src_id = 0; 
     194        d.dst_id = 0; 
     195        d.port_id = 0; 
     196        d.app_id = 0; 
     197        packet_extracted = d.ExtractPacket(packet, 2048, nr, output, 2048, nw); 
     198 
     199        TS_ASSERT_EQUALS( packet_extracted, true ); 
     200        TS_ASSERT_EQUALS( d.packet_id, p.packet_id ); 
     201        TS_ASSERT_EQUALS( d.src_id, p.src_id ); 
     202        TS_ASSERT_EQUALS( d.dst_id, p.dst_id ); 
     203        TS_ASSERT_EQUALS( d.port_id, p.port_id ); 
     204        TS_ASSERT_EQUALS( d.app_id, p.app_id ); 
     205        TS_ASSERT_EQUALS( nr, 1024 ); 
     206        TS_ASSERT_EQUALS( nw, 147 ); 
     207        TS_ASSERT_SAME_DATA( input, output, 147 ); 
     208 
     209    } 
     210 
    153211}; 
    154212