Protocols::BitTorrent::Packets::Testing::PieceTest Class Reference

Inherits TestFixture.

Inheritance diagram for Protocols::BitTorrent::Packets::Testing::PieceTest:

Inheritance graph
[legend]
Collaboration diagram for Protocols::BitTorrent::Packets::Testing::PieceTest:

Collaboration graph
[legend]
List of all members.

Detailed Description

Tests for the packet class Piece.

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 PieceTest.cpp.

Public Member Functions

void setUp ()
void tearDown ()
void scenarioReadPacket (const QByteArray &rawHeader, const QByteArray &rawPayload, bool parsedOk, quint32 pieceIndex, quint32 startOffset, const QByteArray &pieceBytes)
 Tests parsing the packet fields from raw bytes.
void scenarioWritePacket (quint32 pieceIndex, quint32 startOffset, const QByteArray &pieceBytes, const QByteArray &rawHeader, const QByteArray &rawPayload)
 Tests writing the packet fields as raw bytes.
void scenarioReadSetWritePacket (const QByteArray &rawHeader, const QByteArray &rawPayload, quint32 pieceIndex, quint32 startOffset, const QByteArray &pieceBytes, 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 testReadPacketFails ()
void testWritePacketOK ()
void testReadSetWritePacketOK ()

Private Member Functions

 CPPUNIT_TEST_SUITE (PieceTest)
 CPPUNIT_TEST (testPacketProperties)
 CPPUNIT_TEST (testReadPacketOK)
 CPPUNIT_TEST (testReadPacketFails)
 CPPUNIT_TEST (testWritePacketOK)
 CPPUNIT_TEST (testReadSetWritePacketOK)
 CPPUNIT_TEST_SUITE_END ()

Private Attributes

auto_ptr< Piecepacket


Member Function Documentation

Protocols::BitTorrent::Packets::Testing::PieceTest::CPPUNIT_TEST testReadSetWritePacketOK   )  [private]
 

Protocols::BitTorrent::Packets::Testing::PieceTest::CPPUNIT_TEST testWritePacketOK   )  [private]
 

Protocols::BitTorrent::Packets::Testing::PieceTest::CPPUNIT_TEST testReadPacketFails   )  [private]
 

Protocols::BitTorrent::Packets::Testing::PieceTest::CPPUNIT_TEST testReadPacketOK   )  [private]
 

Protocols::BitTorrent::Packets::Testing::PieceTest::CPPUNIT_TEST testPacketProperties   )  [private]
 

Protocols::BitTorrent::Packets::Testing::PieceTest::CPPUNIT_TEST_SUITE PieceTest   )  [private]
 

Protocols::BitTorrent::Packets::Testing::PieceTest::CPPUNIT_TEST_SUITE_END  )  [private]
 

void Protocols::BitTorrent::Packets::Testing::PieceTest::scenarioReadPacket const QByteArray &  rawHeader,
const QByteArray &  rawPayload,
bool  parsedOk,
quint32  pieceIndex,
quint32  startOffset,
const QByteArray &  pieceBytes
[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 79 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::scenarioReadSetWritePacket const QByteArray &  rawHeader,
const QByteArray &  rawPayload,
quint32  pieceIndex,
quint32  startOffset,
const QByteArray &  pieceBytes,
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 120 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::scenarioWritePacket quint32  pieceIndex,
quint32  startOffset,
const QByteArray &  pieceBytes,
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 98 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::setUp  )  [inline]
 

Definition at line 64 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::tearDown  )  [inline]
 

Definition at line 69 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::testPacketProperties  )  [inline]
 

Tests constant packet properties.

Definition at line 138 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::testReadPacketFails  )  [inline]
 

Definition at line 154 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::testReadPacketOK  )  [inline]
 

Definition at line 144 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::testReadSetWritePacketOK  )  [inline]
 

Definition at line 173 of file PieceTest.cpp.

void Protocols::BitTorrent::Packets::Testing::PieceTest::testWritePacketOK  )  [inline]
 

Definition at line 164 of file PieceTest.cpp.


Member Data Documentation

auto_ptr<Piece> Protocols::BitTorrent::Packets::Testing::PieceTest::packet [private]
 

Definition at line 61 of file PieceTest.cpp.


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