Scroom  0.14
pageprovider-tests.cc File Reference
#include <cstring>
#include <boost/test/unit_test.hpp>
#include <scroom/memoryblobs.hh>
Include dependency graph for pageprovider-tests.cc:

Functions

 BOOST_AUTO_TEST_CASE (Provider_provides_any_number_of_independent_blocks_of_a_given_size)
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE()

BOOST_AUTO_TEST_CASE ( Provider_provides_any_number_of_independent_blocks_of_a_given_size  )
21 {
22  const size_t size = 256;
23  const size_t count = 16;
24  const size_t testCount = 48;
25 
26  PageProvider::Ptr provider = PageProvider::create(count, size);
27  PageList pages;
28 
29  uint8_t data = 0;
30  for(size_t i = 0; i < testCount; i++)
31  {
32  Page::Ptr const p = provider->getFreePage();
33  pages.push_back(p);
34 
35  RawPageData::Ptr const raw = p->get();
36  BOOST_REQUIRE(raw.get());
37 
38  memset(raw.get(), data, size);
39  data++;
40  }
41 
42  provider.reset();
43 
44  data = 0;
45  uint8_t expected[size];
46  for(const Page::Ptr& p: pages)
47  {
48  RawPageData::Ptr const raw = p->get();
49  BOOST_REQUIRE(raw.get());
50 
51  memset(expected, data, size);
52  BOOST_CHECK(!memcmp(expected, raw.get(), size));
53  data++;
54  }
55 }
Here is the call graph for this function:
Scroom::MemoryBlobs::PageProvider::Ptr
boost::shared_ptr< PageProvider > Ptr
Definition: memoryblobs.hh:41
Scroom::MemoryBlobs::PageList
std::list< Page::Ptr > PageList
Definition: memoryblobs.hh:36
Scroom::MemoryBlobs::RawPageData::Ptr
boost::shared_ptr< uint8_t > Ptr
Definition: memoryblobs.hh:27
Scroom::MemoryBlobs::Page::Ptr
boost::shared_ptr< Scroom::MemoryBlocks::Page > Ptr
Definition: memoryblobs.hh:34
BOOST_REQUIRE
BOOST_REQUIRE(originalColormap)
create
void create(NewPresentationInterface *interface)
Definition: loader.cc:175