PPI: Fix senf::ppi::init() event hook scheduling
[senf.git] / Packets / 80211Bundle / WLANPacket.test.cc
index ed1c889..5f10603 100644 (file)
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 /** \file
-    \brief WLANPacket.test unit tests */
+    \brief WLANPacket unit tests */
 
 // Custom includes
-
+#include "WLANPacket.hh"
 #include "../../Packets/Packets.hh"
+#include "../DefaultBundle/LlcSnapPacket.hh"
+
 #include "../../Utils/auto_unit_test.hh"
 #include <boost/test/test_tools.hpp>
-#include "WLANPacket.hh"
 
+///////////////////////////////cc.p////////////////////////////////////////
 /* test parser with a data frame */
 BOOST_AUTO_UNIT_TEST(WLANPacket_dataFrame_packet)
 {
@@ -38,10 +40,11 @@ BOOST_AUTO_UNIT_TEST(WLANPacket_dataFrame_packet)
             0x4d, 0x3e, 0xc7, 0x5c, 0x00, 0x0b, 0x6b, 0x57,
             0x06, 0xb0, 0x00, 0x18, 0x4d, 0x6e, 0x78, 0x48,
             0x30, 0x00, 0x01, 0x00,
-            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //dummy data
+            0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00,  //llc header
             0x38, 0x39, 0x30, 0x31                          //trailer
     };
 
+
     senf::WLANPacket p (senf::WLANPacket::create(data));
 
     BOOST_CHECK_EQUAL( p->version(),        0u    );
@@ -58,25 +61,31 @@ BOOST_AUTO_UNIT_TEST(WLANPacket_dataFrame_packet)
 
     BOOST_CHECK_EQUAL( p->duration(),       0u    );
 
-    BOOST_CHECK_EQUAL( 
+    BOOST_CHECK_EQUAL(
             p->dataFrame().destinationAddress().value(),
             senf::MACAddress::from_string("00:18:4d:6e:78:48") );
-    BOOST_CHECK_EQUAL( 
+    BOOST_CHECK_EQUAL(
             p->dataFrame().sourceAddress().value(),
             senf::MACAddress::from_string("00:0b:6b:57:06:b0") );
-    BOOST_CHECK_EQUAL( 
+    BOOST_CHECK_EQUAL(
             p->dataFrame().bssid().value(),
             senf::MACAddress::from_string("00:1a:4d:3e:c7:5c") );
 
-    BOOST_CHECK_EQUAL( 
-            p->dataFrame().bssid().value(), 
+    BOOST_CHECK_EQUAL(
+            p->dataFrame().bssid().value(),
             p->dataFrame().receiverAddress().value() );
-    BOOST_CHECK_EQUAL( 
-            p->dataFrame().transmitterAddress().value(), 
+    BOOST_CHECK_EQUAL(
+            p->dataFrame().transmitterAddress().value(),
             p->dataFrame().sourceAddress().value() );
 
     BOOST_CHECK_EQUAL( p->dataFrame().sequenceNumber(), 3u );
     BOOST_CHECK_EQUAL( p->dataFrame().fragmentNumber(), 0u );
+
+    std::ostringstream oss (std::ostringstream::out);
+    SENF_CHECK_NO_THROW( p.dump( oss));
+
+    BOOST_CHECK( p.next());
+    BOOST_CHECK( p.next().is<senf::LlcSnapPacket>() );
 }
 
 
@@ -133,16 +142,16 @@ BOOST_AUTO_UNIT_TEST(WLANPacket_beaconFrame_packet)
 
     BOOST_CHECK_EQUAL( p->is_mgtFrame(),    true  );
 
-    BOOST_CHECK_EQUAL( 
+    BOOST_CHECK_EQUAL(
             p->mgtFrame().destinationAddress().value(),
             senf::MACAddress::from_string("ff:ff:ff:ff:ff:ff") );
-    BOOST_CHECK_EQUAL( 
+    BOOST_CHECK_EQUAL(
             p->mgtFrame().sourceAddress().value(),
             senf::MACAddress::from_string("00:1a:4d:3e:c7:5c") );
-    BOOST_CHECK_EQUAL( 
+    BOOST_CHECK_EQUAL(
             p->mgtFrame().bssid().value(),
             senf::MACAddress::from_string("00:1a:4d:3e:c7:5c") );
-    
+
     BOOST_CHECK_EQUAL( p->mgtFrame().sequenceNumber(), 302u );
     BOOST_CHECK_EQUAL( p->mgtFrame().fragmentNumber(), 0u   );
 
@@ -194,7 +203,7 @@ BOOST_AUTO_UNIT_TEST(WLANPacket_ctrlFrame_packet)
 
     BOOST_CHECK_EQUAL( p->duration(),       0u    );
 
-    BOOST_CHECK_EQUAL( 
+    BOOST_CHECK_EQUAL(
             p->ctrlFrame().receiverAddress().value(),
             senf::MACAddress::from_string("00:0b:6b:57:06:b0") );
 }