Scroom  0.14
determine-size-test.cc File Reference
#include <algorithm>
#include <boost/test/unit_test.hpp>
#include <scroom/gtk-helpers.hh>
#include <scroom/presentationinterface.hh>
#include <scroom/resizablepresentationinterface.hh>
#include "sizedeterminer.hh"
Include dependency graph for determine-size-test.cc:

Classes

class  anonymous_namespace{determine-size-test.cc}::PresentationInterfaceStub
 
class  anonymous_namespace{determine-size-test.cc}::ResizablePresentationInterfaceStub
 
class  anonymous_namespace{determine-size-test.cc}::ViewInterfaceDummy
 

Namespaces

 anonymous_namespace{determine-size-test.cc}
 

Functions

template<typename Iter >
std::ostream & dumpContainer (std::ostream &os, const std::string &name, Iter const &begin, Iter const &end)
 
template<typename T >
std::ostream & std::operator<< (std::ostream &os, std::list< T > const &l)
 
template<typename T >
bool operator== (boost::weak_ptr< T > const &left, boost::weak_ptr< T > const &right)
 
 BOOST_AUTO_TEST_CASE (determine_size_of_one_regular)
 
 BOOST_AUTO_TEST_CASE (determine_size_of_two_regular)
 
 BOOST_AUTO_TEST_CASE (determine_size_of_one_regular_one_resizable)
 
 BOOST_AUTO_TEST_CASE (determine_size_of_two_resizable)
 
 BOOST_AUTO_TEST_CASE (open_a_view_then_add_presentations_one_regular_one_resizable)
 
 BOOST_AUTO_TEST_CASE (updates_are_sent_to_multiple_views)
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/6]

BOOST_AUTO_TEST_CASE ( determine_size_of_one_regular  )
163 {
164  Scroom::Utils::Rectangle<double> const expected(1, 2, 3, 4);
167  sd->add(p);
168 
169  BOOST_CHECK_EQUAL(expected, sd->getRect());
170 }
Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [2/6]

BOOST_AUTO_TEST_CASE ( determine_size_of_one_regular_one_resizable  )
185 {
186  Scroom::Utils::Rectangle<double> const expected(2, 1, 4, 3);
190  sd->add(p1);
191  sd->add(p2);
192 
193  BOOST_CHECK_EQUAL(expected, sd->getRect());
194  BOOST_CHECK(p1->receivedVi.empty());
195  BOOST_CHECK(p1->receivedRect.empty());
197  sd->open(p1, v1);
198  p1->CheckAllEqual(expected);
199  BOOST_CHECK(p1->Contains(v1));
200 
201  p1->Clear();
203  sd->open(p2, v2);
204  p1->CheckEmpty();
205 }
Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [3/6]

BOOST_AUTO_TEST_CASE ( determine_size_of_two_regular  )
173 {
174  Scroom::Utils::Rectangle<double> const expected(1, 1, 5, 5);
178  sd->add(p1);
179  sd->add(p2);
180 
181  BOOST_CHECK_EQUAL(expected, sd->getRect());
182 }
Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [4/6]

BOOST_AUTO_TEST_CASE ( determine_size_of_two_resizable  )
208 {
209  Scroom::Utils::Rectangle<double> const expected(1, 1, 5, 5);
213  sd->add(p1);
214  sd->add(p2);
215 
216  BOOST_CHECK_EQUAL(expected, sd->getRect());
217 
218  p1->CheckEmpty();
220  sd->open(p1, v1);
221  p1->CheckAllEqual(expected);
222  BOOST_CHECK(p1->Contains(v1));
223  p2->CheckEmpty();
224 
225  p1->Clear();
227  sd->open(p2, v2);
228  p2->CheckAllEqual(expected);
229  BOOST_CHECK(p2->Contains(v2));
230  p1->CheckEmpty();
231 }
Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [5/6]

BOOST_AUTO_TEST_CASE ( open_a_view_then_add_presentations_one_regular_one_resizable  )
234 {
236 
237  Scroom::Utils::Rectangle<double> const r1(1, 2, 3, 4);
239  sd->add(p1);
241  sd->open(p1, v1);
242  BOOST_CHECK_EQUAL(r1, sd->getRect());
243  p1->CheckAllEqual(r1);
244  BOOST_CHECK(p1->Contains(v1));
245  p1->Clear();
246 
247  Scroom::Utils::Rectangle<double> const r2(2, 1, 4, 3);
249  sd->add(p2);
250  BOOST_CHECK_EQUAL(r2, sd->getRect());
251  p1->CheckAllEqual(r2);
252  BOOST_CHECK(p1->Contains(v1));
253  p1->Clear();
255  sd->open(p2, v2);
256  p1->CheckEmpty();
257 }
Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [6/6]

BOOST_AUTO_TEST_CASE ( updates_are_sent_to_multiple_views  )
260 {
262 
263  Scroom::Utils::Rectangle<double> const r1(1, 2, 3, 4);
265  sd->add(p1);
267  sd->open(p1, vi1);
269  sd->open(p1, vi2);
271  sd->open(p1, vi3);
272 
273  BOOST_CHECK_EQUAL(r1, sd->getRect());
274  p1->CheckAllEqual(r1);
275  BOOST_CHECK(p1->Contains(vi1));
276  BOOST_CHECK(p1->Contains(vi2));
277  BOOST_CHECK(p1->Contains(vi3));
278  p1->Clear();
279 
280  sd->close(p1, vi3);
281  Scroom::Utils::Rectangle<double> const r2(2, 1, 4, 3);
283  sd->add(p2);
284  BOOST_CHECK_EQUAL(r2, sd->getRect());
285  p1->CheckAllEqual(r2);
286  BOOST_CHECK(p1->Contains(vi1));
287  BOOST_CHECK(p1->Contains(vi2));
288  BOOST_CHECK(!p1->Contains(vi3));
289 }
Here is the call graph for this function:

◆ dumpContainer()

template<typename Iter >
std::ostream& dumpContainer ( std::ostream &  os,
const std::string &  name,
Iter const &  begin,
Iter const &  end 
)
22 {
23  os << name << "(";
24  Iter cur = begin;
25  if(cur != end)
26  {
27  os << *cur++;
28  }
29 
30  while(cur != end)
31  {
32  os << ", " << *cur++;
33  }
34 
35  os << ")";
36  return os;
37 }

Referenced by std::operator<<().

Here is the caller graph for this function:

◆ operator<<()

template<typename T >
std::ostream& std::operator<< ( std::ostream &  os,
std::list< T > const &  l 
)
43  {
44  return dumpContainer(os, "std::list", l.begin(), l.end());
45  }
Here is the call graph for this function:

◆ operator==()

template<typename T >
bool operator== ( boost::weak_ptr< T > const &  left,
boost::weak_ptr< T > const &  right 
)
49 {
50  return !(left < right) && !(right < left);
51 }
Scroom::MemoryBlocks::RawPageData::Ptr
boost::shared_ptr< uint8_t > Ptr
Definition: blockallocator.hh:23
SizeDeterminer::create
static Ptr create()
Definition: sizedeterminer.cc:66
BOOST_CHECK_EQUAL
BOOST_CHECK_EQUAL(sample.expectedColors, originalColormap->colors.size())
ViewInterface::Ptr
boost::shared_ptr< ViewInterface > Ptr
Definition: viewinterface.hh:193
dumpContainer
std::ostream & dumpContainer(std::ostream &os, const std::string &name, Iter const &begin, Iter const &end)
Definition: determine-size-test.cc:21
SizeDeterminer::Ptr
boost::shared_ptr< SizeDeterminer > Ptr
Definition: sizedeterminer.hh:22
Scroom::Utils::Rectangle< double >
create
void create(NewPresentationInterface *interface)
Definition: loader.cc:175