28 #include "../Config.h" 34 const unsigned int maxNumberRAMBlocks = 2;
36 std::vector< unsigned int> numbersOfBlocksX;
37 numbersOfBlocksX.push_back( 1 );
38 numbersOfBlocksX.push_back( 2 );
39 numbersOfBlocksX.push_back( 2 );
41 std::vector< unsigned int> numbersOfBlocksY;
42 numbersOfBlocksY.push_back( 1 );
43 numbersOfBlocksY.push_back( 3 );
44 numbersOfBlocksY.push_back( 1 );
46 std::vector< unsigned int> blocksSizesBytes;
47 blocksSizesBytes.push_back( 6 *
sizeof(
unsigned int ) );
48 blocksSizesBytes.push_back( 2 *
sizeof(
unsigned char ) );
49 blocksSizesBytes.push_back( 3 *
sizeof(
double ) );
51 const unsigned long int maxDiskFilesSize = 1000000;
54 CPPUNIT_ASSERT( manager.
initialize( maxNumberRAMBlocks, numbersOfBlocksX,
55 numbersOfBlocksY, blocksSizesBytes, maxDiskFilesSize ) );
59 ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 0 ] = (
unsigned int)(0);
60 ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 1 ] = (
unsigned int)(1);
61 ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 2 ] = (
unsigned int)(2);
62 ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 3 ] = (
unsigned int)(3);
63 ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 4 ] = (
unsigned int)(4);
64 ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 5 ] = (
unsigned int)(5);
66 ((
unsigned char*)manager.
getBlockPointer( 1, 0, 0))[ 0 ] = (
unsigned char)(6);
67 ((
unsigned char*)manager.
getBlockPointer( 1, 0, 1))[ 0 ] = (
unsigned char)(7);
68 ((
unsigned char*)manager.
getBlockPointer( 1, 0, 2))[ 0 ] = (
unsigned char)(8);
69 ((
unsigned char*)manager.
getBlockPointer( 1, 1, 0))[ 0 ] = (
unsigned char)(9);
70 ((
unsigned char*)manager.
getBlockPointer( 1, 1, 1))[ 0 ] = (
unsigned char)(10);
71 ((
unsigned char*)manager.
getBlockPointer( 1, 1, 2))[ 0 ] = (
unsigned char)(11);
82 CPPUNIT_ASSERT( ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 0 ] == (
unsigned int)(0) );
83 CPPUNIT_ASSERT( ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 1 ] == (
unsigned int)(1) );
84 CPPUNIT_ASSERT( ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 2 ] == (
unsigned int)(2) );
85 CPPUNIT_ASSERT( ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 3 ] == (
unsigned int)(3) );
86 CPPUNIT_ASSERT( ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 4 ] == (
unsigned int)(4) );
87 CPPUNIT_ASSERT( ((
unsigned int*)manager.
getBlockPointer( 0, 0, 0))[ 5 ] == (
unsigned int)(5) );
89 CPPUNIT_ASSERT( ((
unsigned char*)manager.
getBlockPointer( 1, 0, 0))[ 0 ] == (
unsigned char)(6) );
90 CPPUNIT_ASSERT( ((
unsigned char*)manager.
getBlockPointer( 1, 0, 1))[ 0 ] == (
unsigned char)(7) );
91 CPPUNIT_ASSERT( ((
unsigned char*)manager.
getBlockPointer( 1, 0, 2))[ 0 ] == (
unsigned char)(8) );
92 CPPUNIT_ASSERT( ((
unsigned char*)manager.
getBlockPointer( 1, 1, 0))[ 0 ] == (
unsigned char)(9) );
93 CPPUNIT_ASSERT( ((
unsigned char*)manager.
getBlockPointer( 1, 1, 1))[ 0 ] == (
unsigned char)(10) );
94 CPPUNIT_ASSERT( ((
unsigned char*)manager.
getBlockPointer( 1, 1, 2))[ 0 ] == (
unsigned char)(11) );
96 CPPUNIT_ASSERT( ((
double*)manager.
getBlockPointer( 2, 0, 0))[ 0 ] == (
double)(12) );
97 CPPUNIT_ASSERT( ((
double*)manager.
getBlockPointer( 2, 0, 0))[ 1 ] == (
double)(13) );
98 CPPUNIT_ASSERT( ((
double*)manager.
getBlockPointer( 2, 0, 0))[ 2 ] == (
double)(14) );
99 CPPUNIT_ASSERT( ((
double*)manager.
getBlockPointer( 2, 1, 0))[ 0 ] == (
double)(15) );
100 CPPUNIT_ASSERT( ((
double*)manager.
getBlockPointer( 2, 1, 0))[ 1 ] == (
double)(16) );
101 CPPUNIT_ASSERT( ((
double*)manager.
getBlockPointer( 2, 1, 0))[ 2 ] == (
double)(17) );
106 const unsigned int maxNumberRAMBlocks = 2;
108 std::vector< unsigned int> numbersOfBlocksX;
109 numbersOfBlocksX.push_back( 1 );
110 numbersOfBlocksX.push_back( 2 );
111 numbersOfBlocksX.push_back( 2 );
113 std::vector< unsigned int> numbersOfBlocksY;
114 numbersOfBlocksY.push_back( 1 );
115 numbersOfBlocksY.push_back( 3 );
116 numbersOfBlocksY.push_back( 1 );
118 std::vector< unsigned int> blocksSizesBytes;
119 blocksSizesBytes.push_back( 6 *
sizeof(
unsigned int ) );
120 blocksSizesBytes.push_back( 2 *
sizeof(
unsigned int ) );
121 blocksSizesBytes.push_back( 3 *
sizeof(
unsigned int ) );
123 const unsigned long int maxDiskFilesSize = 1000000;
126 CPPUNIT_ASSERT( manager.
initialize( maxNumberRAMBlocks, numbersOfBlocksX,
127 numbersOfBlocksY, blocksSizesBytes, maxDiskFilesSize ) );
129 FillBlocks< unsigned int >( manager );
130 CheckValues< unsigned int >( manager );
132 std::vector< te::mem::ExpansibleBandBlocksManager::BlockIndex3D > addedBlocksCoords;
135 FillBlocks< unsigned int >( manager );
136 CheckValues< unsigned int >( manager );
139 FillBlocks< unsigned int >( manager );
140 CheckValues< unsigned int >( manager );
143 FillBlocks< unsigned int >( manager );
144 CheckValues< unsigned int >( manager );
147 FillBlocks< unsigned int >( manager );
148 CheckValues< unsigned int >( manager );
151 FillBlocks< unsigned int >( manager );
152 CheckValues< unsigned int >( manager );
155 FillBlocks< unsigned int >( manager );
156 CheckValues< unsigned int >( manager );
159 FillBlocks< unsigned int >( manager );
160 CheckValues< unsigned int >( manager );
163 FillBlocks< unsigned int >( manager );
164 CheckValues< unsigned int >( manager );
167 FillBlocks< unsigned int >( manager );
168 CheckValues< unsigned int >( manager );
171 FillBlocks< unsigned int >( manager );
172 CheckValues< unsigned int >( manager );
175 FillBlocks< unsigned int >( manager );
176 CheckValues< unsigned int >( manager );
179 FillBlocks< unsigned int >( manager );
180 CheckValues< unsigned int >( manager );
183 FillBlocks< unsigned int >( manager );
184 CheckValues< unsigned int >( manager );
187 FillBlocks< unsigned int >( manager );
188 CheckValues< unsigned int >( manager );
191 FillBlocks< unsigned int >( manager );
192 CheckValues< unsigned int >( manager );
195 FillBlocks< unsigned int >( manager );
196 CheckValues< unsigned int >( manager );
199 FillBlocks< unsigned int >( manager );
200 CheckValues< unsigned int >( manager );
203 FillBlocks< unsigned int >( manager );
204 CheckValues< unsigned int >( manager );
bool addTopBands(const unsigned int &expansionSize, std::vector< BlockIndex3D > &addedBlocksCoords)
New bands will be added at the top of the raster (before the first band).
bool addBottomBlocks(const unsigned int &expansionSize, const unsigned int &band, std::vector< BlockIndex3D > &addedBlocksCoords)
New blocks will be added at the bottom of the raster.
void * getBlockPointer(unsigned int band, unsigned int x, unsigned int y)
Returns a pointer to the required data block.
bool initialize(const unsigned int maxNumberRAMBlocks, const std::vector< unsigned int > &numbersOfBlocksX, const std::vector< unsigned int > &numbersOfBlocksY, const std::vector< unsigned int > &blocksSizesBytes, const unsigned long int maxDiskFilesSize)
Initialize this instance to an initial state.
A test suit for the Expansible Band Blocks Manager Class.
bool addBottomBands(const unsigned int &expansionSize, std::vector< BlockIndex3D > &addedBlocksCoords)
New bands will be added at the bottom of the raster (after de the last band).
RAM cached and tiled raster band blocks manager.
bool addRightBlocks(const unsigned int &expansionSize, const unsigned int &band, std::vector< BlockIndex3D > &addedBlocksCoords)
New blocks will be added at the right of the raster.
A test suit for the Expansible Band Blocks Manager Class.
CPPUNIT_TEST_SUITE_REGISTRATION(TsExpansibleBandBlocksManager)
bool addTopBlocks(const unsigned int &expansionSize, const unsigned int &band, std::vector< BlockIndex3D > &addedBlocksCoords)
New blocks will be added at the top of the raster.
bool addLeftBlocks(const unsigned int &expansionSize, const unsigned int &band, std::vector< BlockIndex3D > &addedBlocksCoords)
New blocks will be added at the left of the raster.