e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz#define ARRAY_RANGE(array) (array), (array)+sizeof((array))/sizeof((array)[0])
c0092c87b724182672defa4f5f75a82c27f017dcjoncruzstatic bool check_values(Inkscape::Util::ListContainer<int> const &c, unsigned n_values, ...) {
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int>::const_iterator iter(c.begin());
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruzclass ListContainerTest : public CxxTest::TestSuite {
9eb886f0efdd076022ef171278e8475a580a1e91jaspervdg// createSuite and destroySuite get us per-suite setup and teardown
9eb886f0efdd076022ef171278e8475a580a1e91jaspervdg// without us having to worry about static initialization order, etc.
9eb886f0efdd076022ef171278e8475a580a1e91jaspervdg static ListContainerTest *createSuite() { return new ListContainerTest(); }
9eb886f0efdd076022ef171278e8475a580a1e91jaspervdg static void destroySuite( ListContainerTest *suite ) { delete suite; }
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> container(values, values_end);
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int>::iterator container_iter=container.begin();
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz while ( values_iter != values_end && container_iter != container.end() ) {
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_a(ARRAY_RANGE(a));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_b(ARRAY_RANGE(b));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_c(ARRAY_RANGE(c));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_d(ARRAY_RANGE(d));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_a(ARRAY_RANGE(a));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_b(ARRAY_RANGE(b));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_c(ARRAY_RANGE(c));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_d(ARRAY_RANGE(d));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_a(ARRAY_RANGE(a));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> filled((std::size_t)3, 2);
b75c8c079c27d43ecebd305ec1796d5ebd5b9bb9tweenk // max_size() and size() return ListContainer<>::size_type which is unsigned int
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_a(ARRAY_RANGE(a));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_a(ARRAY_RANGE(a));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c_b(ARRAY_RANGE(b));
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz TS_ASSERT(check_values(c_a, 7, 1, 2, 3, 4, 5, 6, 7));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int>::iterator pos=c.begin();
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> c(ARRAY_RANGE(values));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int>::iterator pos=c.begin();
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> t(ARRAY_RANGE(full_ary));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> full_list(ARRAY_RANGE(full_ary));
c0092c87b724182672defa4f5f75a82c27f017dcjoncruz Inkscape::Util::ListContainer<int> exp_list(ARRAY_RANGE(exp_ary));
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz Local Variables:
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz c-file-style:"stroustrup"
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz indent-tabs-mode:nil
e69f7d715a3db7f1fff1c8334714c8fab63852abjoncruz fill-column:99
a4030d5ca449e7e384bc699cd249ee704faaeab0Chris Morgan// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :