X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=alg%2Ftest%2Ftest_drawable.cpp;h=63d75efdd8be802dd4aa018886b69496251b750c;hp=e3afd703ed224e3e98227d5fddaa180e70da5b72;hb=f2858f72af9cbe3258229bda254f186f279c5c8c;hpb=67888dae3b16b9d69aa846e393f11e7ff3633f16 diff --git a/alg/test/test_drawable.cpp b/alg/test/test_drawable.cpp index e3afd70..63d75ef 100644 --- a/alg/test/test_drawable.cpp +++ b/alg/test/test_drawable.cpp @@ -4,6 +4,7 @@ #include #include "drawable.hpp" +#include "seq_span.hpp" BOOST_AUTO_TEST_CASE( drawable_empty_constructors ) { @@ -64,4 +65,36 @@ BOOST_AUTO_TEST_CASE( drawable_copyref_constructor ) 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