#include <boost/shared_ptr.hpp>
#include "drawable.hpp"
+#include "seq_span.hpp"
BOOST_AUTO_TEST_CASE( drawable_empty_constructors )
{
BOOST_CHECK_EQUAL(*asp->color(), *grey);
BOOST_CHECK_EQUAL(*bsp->color(), *grey);
BOOST_CHECK_EQUAL(*csp->color(), *black);
+}
+
+void test_draw_func_null(SeqSpanRef r, void *p)
+{
+}
+
+BOOST_AUTO_TEST_CASE( drawable_null_draw_func )
+{
+ ColorRef white(new Color(1.0, 1.0, 1.0));
+ DrawableRef asp(new Drawable(1.0,1.0,1.0,1.0, white, test_draw_func_null));
+
+ BOOST_CHECK_EQUAL(asp->drawFunction(), test_draw_func_null);
+
+ DrawableRef bsp(asp);
+ BOOST_CHECK_EQUAL(bsp->drawFunction(), test_draw_func_null);
+}
+
+void test_draw_func_find_drawable(SeqSpanRef r, void *p)
+{
+ BOOST_REQUIRE(r->drawable());
+ BOOST_REQUIRE_EQUAL(r->drawable()->drawFunction(), test_draw_func_find_drawable);
+}
+
+BOOST_AUTO_TEST_CASE( test_drawable_find_drawable )
+{
+ ColorRef white(new Color(1.0, 1.0, 1.0));
+ DrawableRef drawsp(new Drawable(1.0,1.0,1.0,1.0, white, test_draw_func_find_drawable));
+ SeqSpanRef ssp(new SeqSpan("AAAA"));
+ ssp->setDrawable(drawsp);
+
+ BOOST_CHECK_EQUAL(drawsp->drawFunction(), test_draw_func_find_drawable);
+ ssp->drawable()->drawFunction();
}
\ No newline at end of file