X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FJoins.test.cc;h=44e975933247f7ebf87da8ce17cd35ca7dd5e2a8;hb=a1fdb7bb122f0b05be809a922d4b7ef5e125fa67;hp=8e336bbe498cec81089e4b9148da91fa39da3391;hpb=914af680a37d303da51e3877972ca9bd68d6190b;p=senf.git diff --git a/PPI/Joins.test.cc b/PPI/Joins.test.cc index 8e336bb..44e9759 100644 --- a/PPI/Joins.test.cc +++ b/PPI/Joins.test.cc @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -21,7 +21,7 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief Joins.test unit tests */ + \brief Joins unit tests */ //#include "Joins.test.hh" //#include "Joins.test.ih" @@ -30,9 +30,9 @@ #include "Joins.hh" #include "DebugModules.hh" #include "Setup.hh" -#include "Packets/Packets.hh" +#include "../Packets/Packets.hh" -#include +#include "../Utils/auto_unit_test.hh" #include #define prefix_ @@ -45,10 +45,10 @@ namespace debug = module::debug; BOOST_AUTO_UNIT_TEST(passiveJoin) { - debug::ActivePacketSource source1; - debug::ActivePacketSource source2; + debug::ActiveSource source1; + debug::ActiveSource source2; module::PassiveJoin join; - debug::PassivePacketSink sink; + debug::PassiveSink sink; ppi::connect(source1, join); ppi::connect(source2, join); @@ -75,10 +75,10 @@ BOOST_AUTO_UNIT_TEST(passiveJoin) BOOST_AUTO_UNIT_TEST(priorityJoin) { - debug::PassivePacketSource source1; - debug::PassivePacketSource source2; + debug::PassiveSource source1; + debug::PassiveSource source2; module::PriorityJoin join; - debug::ActivePacketSink sink; + debug::ActiveSink sink; ppi::connect(source1, join); ppi::connect(source2, join); @@ -106,6 +106,25 @@ BOOST_AUTO_UNIT_TEST(priorityJoin) BOOST_CHECK( sink.request() == p1 ); BOOST_CHECK( sink.request() == p2 ); BOOST_CHECK( ! sink ); + + debug::PassiveSource source3; + debug::PassiveSource source4; + 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); + source1.submit(p1); + BOOST_CHECK( sink.request() == p3 ); + BOOST_CHECK( sink.request() == p1 ); + BOOST_CHECK( sink.request() == p4 ); + BOOST_CHECK( sink.request() == p2 ); + BOOST_CHECK( ! sink ); } ///////////////////////////////cc.e////////////////////////////////////////