// 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)
{
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 );
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>() );
}
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 );
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") );
}