Protocols::Gnutella::Packets::Testing::QueryHitsTest Class Reference

Inherits TestFixture.

Inheritance diagram for Protocols::Gnutella::Packets::Testing::QueryHitsTest:

Inheritance graph
[legend]
Collaboration diagram for Protocols::Gnutella::Packets::Testing::QueryHitsTest:

Collaboration graph
[legend]
List of all members.

Detailed Description

Tests for the packet class QueryHits.

scenarioReadPacket() verifies that a packet's payload and header fields are a) correctly parsed from raw bytes, or b) could not be parsed.

scenarioWritePacket() verifies that a packet's payload and header fields are correctly written as raw bytes.

scenarioReadSetWritePacket() verifies that the fields of a correctly read packet could be modified and written as raw bytes.

Blackbox considerations:

Definition at line 51 of file QueryHitsTest.cpp.

Public Member Functions

 QueryHitsTest ()
void setUp ()
void tearDown ()
void scenarioReadPacket (const QByteArray &rawHeader, const QByteArray &rawPayload, bool parsedOk, quint16 port, const QHostAddress &ipAddress, quint32 speed, const ResultSet &resultSet, const QueryHitsData &queryHitsData)
 Tests parsing the packet fields from raw bytes.
void scenarioWritePacket (quint16 port, const QHostAddress &ipAddress, quint32 speed, const ResultSet &resultSet, const QueryHitsData &queryHitsData, const QByteArray &rawHeader, const QByteArray &rawPayload)
 Tests writing the packet fields as raw bytes.
void scenarioReadSetWritePacket (const QByteArray &rawHeader, const QByteArray &rawPayload, quint16 port, const QHostAddress &ipAddress, quint32 speed, const ResultSet &resultSet, const QueryHitsData &queryHitsData, const QByteArray &rawHeader2, const QByteArray &rawPayload2)
 Tests parsing a packet, modifying the fields then writing it again.
void testPacketProperties ()
 Tests constant packet properties.
void testReadPacketOK ()
void testReadPacketBAD ()
void testWritePacketOK ()
void testReadSetWritePacketOK ()

Private Member Functions

 CPPUNIT_TEST_SUITE (QueryHitsTest)
 CPPUNIT_TEST (testPacketProperties)
 CPPUNIT_TEST (testReadPacketOK)
 CPPUNIT_TEST (testReadPacketBAD)
 CPPUNIT_TEST (testWritePacketOK)
 CPPUNIT_TEST (testReadSetWritePacketOK)
 CPPUNIT_TEST_SUITE_END ()

Private Attributes

Result simpleResult
QueryHitsData simpleQueryHitsData
auto_ptr< QueryHitspacket


Constructor & Destructor Documentation

Protocols::Gnutella::Packets::Testing::QueryHitsTest::QueryHitsTest  )  [inline]
 

Definition at line 66 of file QueryHitsTest.cpp.


Member Function Documentation

Protocols::Gnutella::Packets::Testing::QueryHitsTest::CPPUNIT_TEST testReadSetWritePacketOK   )  [private]
 

Protocols::Gnutella::Packets::Testing::QueryHitsTest::CPPUNIT_TEST testWritePacketOK   )  [private]
 

Protocols::Gnutella::Packets::Testing::QueryHitsTest::CPPUNIT_TEST testReadPacketBAD   )  [private]
 

Protocols::Gnutella::Packets::Testing::QueryHitsTest::CPPUNIT_TEST testReadPacketOK   )  [private]
 

Protocols::Gnutella::Packets::Testing::QueryHitsTest::CPPUNIT_TEST testPacketProperties   )  [private]
 

Protocols::Gnutella::Packets::Testing::QueryHitsTest::CPPUNIT_TEST_SUITE QueryHitsTest   )  [private]
 

Protocols::Gnutella::Packets::Testing::QueryHitsTest::CPPUNIT_TEST_SUITE_END  )  [private]
 

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::scenarioReadPacket const QByteArray &  rawHeader,
const QByteArray &  rawPayload,
bool  parsedOk,
quint16  port,
const QHostAddress &  ipAddress,
quint32  speed,
const ResultSet resultSet,
const QueryHitsData queryHitsData
[inline]
 

Tests parsing the packet fields from raw bytes.

Parses raw bytes and then verifies that all payload fields have correct values.

Definition at line 91 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::scenarioReadSetWritePacket const QByteArray &  rawHeader,
const QByteArray &  rawPayload,
quint16  port,
const QHostAddress &  ipAddress,
quint32  speed,
const ResultSet resultSet,
const QueryHitsData queryHitsData,
const QByteArray &  rawHeader2,
const QByteArray &  rawPayload2
[inline]
 

Tests parsing a packet, modifying the fields then writing it again.

This scenario implicitly tests blackbox behavior!

The main aim of this scenario is to verify that the payload fields are invalidated (blackbox behavior) after setting them and that the correct values are written afterwards. As single test case for this scenario will be enough.

Definition at line 143 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::scenarioWritePacket quint16  port,
const QHostAddress &  ipAddress,
quint32  speed,
const ResultSet resultSet,
const QueryHitsData queryHitsData,
const QByteArray &  rawHeader,
const QByteArray &  rawPayload
[inline]
 

Tests writing the packet fields as raw bytes.

Sets the fields of a default constructed object and verifies that they are correctly written as write bytes.

Definition at line 116 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::setUp  )  [inline]
 

Definition at line 70 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::tearDown  )  [inline]
 

Definition at line 81 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::testPacketProperties  )  [inline]
 

Tests constant packet properties.

Definition at line 167 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::testReadPacketBAD  )  [inline]
 

Definition at line 186 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::testReadPacketOK  )  [inline]
 

Definition at line 173 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::testReadSetWritePacketOK  )  [inline]
 

Definition at line 211 of file QueryHitsTest.cpp.

void Protocols::Gnutella::Packets::Testing::QueryHitsTest::testWritePacketOK  )  [inline]
 

Definition at line 199 of file QueryHitsTest.cpp.


Member Data Documentation

auto_ptr<QueryHits> Protocols::Gnutella::Packets::Testing::QueryHitsTest::packet [private]
 

Definition at line 63 of file QueryHitsTest.cpp.

QueryHitsData Protocols::Gnutella::Packets::Testing::QueryHitsTest::simpleQueryHitsData [private]
 

Definition at line 62 of file QueryHitsTest.cpp.

Result Protocols::Gnutella::Packets::Testing::QueryHitsTest::simpleResult [private]
 

Definition at line 61 of file QueryHitsTest.cpp.


The documentation for this class was generated from the following file: