X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FJoins.test.cc;h=993e2a7379778c40cf57fd544ea19206cf8c8f55;hb=c505c034e5fdc932c02aa3dc3847a5551011d87e;hp=433e2cbc2c4b1562a26b3905ccc5df39c56b06bf;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/PPI/Joins.test.cc b/senf/PPI/Joins.test.cc index 433e2cb..993e2a7 100644 --- a/senf/PPI/Joins.test.cc +++ b/senf/PPI/Joins.test.cc @@ -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);