#include "AnnotationRouter.hh"
#include "DebugModules.hh"
-#include "../Utils//auto_unit_test.hh"
+#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
#define prefix_
std::ostream & operator<<(std::ostream & os, IntAnnotation const & value)
{ os << value.value; return os; }
+
+ struct AnnotationRouter : public senf::ppi::module::AnnotationRouter<IntAnnotation>
+ {
+ using senf::ppi::module::AnnotationRouter<IntAnnotation>::connectors;
+ };
}
BOOST_AUTO_UNIT_TEST(annotationRouter)
senf::ppi::module::debug::PassiveSink sink1;
senf::ppi::module::debug::PassiveSink sink2;
- senf::ppi::module::AnnotationRouter<IntAnnotation> router;
+ AnnotationRouter router;
senf::ppi::connect(source, router);
- senf::ppi::connect(router, sink1, 1);
- senf::ppi::connect(router, sink2, 2);
+ senf::ppi::connect(router, 1, sink1);
+ senf::ppi::connect(router, 2, sink2);
- BOOST_CHECK_THROW( senf::ppi::connect(router, sink2, 2),
+ BOOST_CHECK_THROW( senf::ppi::connect(router, 2, sink2),
senf::ppi::module::AnnotationRouter<IntAnnotation>::DuplicateKeyException);
senf::ppi::init();
BOOST_CHECK_EQUAL( sink2.size(), 1u );
BOOST_CHECK( sink1.front() == p1 );
BOOST_CHECK( sink2.front() == p2 );
+
+ BOOST_CHECK_EQUAL(router.connectors().size(), 2u);
+ sink1.input.disconnect();
}
///////////////////////////////cc.e////////////////////////////////////////