X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FJoins.test.cc;h=993e2a7379778c40cf57fd544ea19206cf8c8f55;hb=c505c034e5fdc932c02aa3dc3847a5551011d87e;hp=44e975933247f7ebf87da8ce17cd35ca7dd5e2a8;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/PPI/Joins.test.cc b/senf/PPI/Joins.test.cc index 44e9759..993e2a7 100644 --- a/senf/PPI/Joins.test.cc +++ b/senf/PPI/Joins.test.cc @@ -30,9 +30,9 @@ #include "Joins.hh" #include "DebugModules.hh" #include "Setup.hh" -#include "../Packets/Packets.hh" +#include -#include "../Utils/auto_unit_test.hh" +#include #include #define prefix_ @@ -43,11 +43,20 @@ namespace connector = ppi::connector; namespace module = ppi::module; namespace debug = module::debug; -BOOST_AUTO_UNIT_TEST(passiveJoin) +namespace { + + struct PassiveJoin : public module::PassiveJoin + { + using module::PassiveJoin::connectors; + }; + +} + +SENF_AUTO_UNIT_TEST(passiveJoin) { debug::ActiveSource source1; debug::ActiveSource source2; - module::PassiveJoin join; + PassiveJoin join; debug::PassiveSink sink; ppi::connect(source1, join); @@ -65,15 +74,22 @@ BOOST_AUTO_UNIT_TEST(passiveJoin) sink.input.throttle(); BOOST_CHECK( ! source1 ); BOOST_CHECK( ! source2 ); - + source1.submit(p); source2.submit(p); BOOST_CHECK_EQUAL( sink.size(), 2u ); sink.input.unthrottle(); BOOST_CHECK_EQUAL( sink.size(), 4u ); + + BOOST_CHECK_EQUAL( join.connectors().size(), 2u); + source1.output.disconnect(); + BOOST_CHECK_EQUAL( join.connectors().size(), 1u); + ppi::connect(source1, join); + ppi::init(); + BOOST_CHECK_EQUAL( join.connectors().size(), 2u); } -BOOST_AUTO_UNIT_TEST(priorityJoin) +SENF_AUTO_UNIT_TEST(priorityJoin) { debug::PassiveSource source1; debug::PassiveSource source2; @@ -89,7 +105,7 @@ BOOST_AUTO_UNIT_TEST(priorityJoin) senf::Packet p1 (senf::DataPacket::create()); senf::Packet p2 (senf::DataPacket::create()); - + source1.submit(p1); BOOST_CHECK( sink ); source2.submit(p2); @@ -112,10 +128,10 @@ BOOST_AUTO_UNIT_TEST(priorityJoin) ppi::connect(source3, join, 0); ppi::connect(source4, join, -2); // Ordering now: source3, source1, source4, source2 - + senf::Packet p3 (senf::DataPacket::create()); senf::Packet p4 (senf::DataPacket::create()); - + source4.submit(p4); source3.submit(p3); source2.submit(p2);