00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "torc/bitstream/FrameSet.hpp"
00020 #include "torc/bitstream/Virtex5.hpp"
00021 #include <boost/test/unit_test.hpp>
00022
00023 namespace torc {
00024 namespace bitstream {
00025
00026 BOOST_AUTO_TEST_SUITE(bitstream)
00027
00028
00029 BOOST_AUTO_TEST_CASE(FrameSetUnitTest) {
00030
00031
00032 const boost::uint32_t length = 0x41;
00033 const boost::uint32_t count = 5;
00034 VirtexFrameSet virtexFrameSet(length, count);
00035 BOOST_CHECK_EQUAL(virtexFrameSet.size(), count);
00036 VirtexFrameSet::const_iterator p = virtexFrameSet.begin();
00037 VirtexFrameSet::const_iterator e = virtexFrameSet.end();
00038 while(p < e) {
00039 const VirtexFrameSharedPtr& vfsp = *p++;
00040 BOOST_CHECK_EQUAL(vfsp->getLength(), length);
00041
00042
00043 }
00044 }
00045
00046
00047 BOOST_AUTO_TEST_CASE(FrameBlocksUnitTest) {
00048
00049
00050 const boost::uint32_t length = 0x41;
00051 VirtexFrameBlocks blocks;
00052 int count[VirtexFrameBlocks::eBlockTypeCount] = { 1000, 1000, 500 };
00053 for(int i = 0; i < VirtexFrameBlocks::eBlockTypeCount; i++) {
00054 for(int j = 0; j < count[i]; j++) {
00055 blocks.mBlock[i].push_back(
00056 VirtexFrameSet::FrameSharedPtr(new VirtexFrame(length)));
00057 }
00058 }
00059 BOOST_CHECK_EQUAL(blocks.mBlock[Virtex5::eFarBlockType0].size(), 1000u);
00060 BOOST_CHECK_EQUAL(blocks.mBlock[Virtex5::eFarBlockType1].size(), 1000u);
00061 BOOST_CHECK_EQUAL(blocks.mBlock[Virtex5::eFarBlockType2].size(), 500u);
00062 BOOST_CHECK_EQUAL(blocks.mBlock[Virtex5::eFarBlockType3].size(), 0u);
00063 BOOST_CHECK_EQUAL(blocks.mBlock[Virtex5::eFarBlockType4].size(), 0u);
00064 BOOST_CHECK_EQUAL(blocks.mBlock[Virtex5::eFarBlockType5].size(), 0u);
00065 BOOST_CHECK_EQUAL(blocks.mBlock[Virtex5::eFarBlockType6].size(), 0u);
00066 BOOST_CHECK_EQUAL(blocks.mBlock[Virtex5::eFarBlockType7].size(), 0u);
00067 }
00068
00069 BOOST_AUTO_TEST_SUITE_END()
00070
00071 }
00072 }