Protocols::BitTorrent::Packets::Testing::BitFieldTest Class Reference

Inherits TestFixture.

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

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

Collaboration graph
[legend]
List of all members.

Detailed Description

Tests for the packet class BitField.

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

Public Member Functions

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

Private Member Functions

 CPPUNIT_TEST_SUITE (BitFieldTest)
 CPPUNIT_TEST (testPacketProperties)
 CPPUNIT_TEST (testReadPacketOK)
 CPPUNIT_TEST (testReadPacketOK2)
 CPPUNIT_TEST (testWritePacketOK)
 CPPUNIT_TEST (testReadSetWritePacketOK)
 CPPUNIT_TEST_SUITE_END ()

Private Attributes

auto_ptr< BitFieldpacket


Member Function Documentation

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

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

Protocols::BitTorrent::Packets::Testing::BitFieldTest::CPPUNIT_TEST testReadPacketOK2   )  [private]
 

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

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

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

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

void Protocols::BitTorrent::Packets::Testing::BitFieldTest::scenarioReadPacket const QByteArray &  rawHeader,
const QByteArray &  rawPayload,
bool  parsedOk,
const QByteArray &  bitField
[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 BitFieldTest.cpp.

void Protocols::BitTorrent::Packets::Testing::BitFieldTest::scenarioReadSetWritePacket const QByteArray &  rawHeader,
const QByteArray &  rawPayload,
const QByteArray &  bitField,
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 112 of file BitFieldTest.cpp.

void Protocols::BitTorrent::Packets::Testing::BitFieldTest::scenarioWritePacket const QByteArray &  bitField,
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 94 of file BitFieldTest.cpp.

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

Definition at line 64 of file BitFieldTest.cpp.

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

Definition at line 69 of file BitFieldTest.cpp.

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

Tests constant packet properties.

Definition at line 126 of file BitFieldTest.cpp.

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

Definition at line 132 of file BitFieldTest.cpp.

void Protocols::BitTorrent::Packets::Testing::BitFieldTest::testReadPacketOK2  )  [inline]
 

Definition at line 140 of file BitFieldTest.cpp.

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

Definition at line 155 of file BitFieldTest.cpp.

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

Definition at line 148 of file BitFieldTest.cpp.


Member Data Documentation

auto_ptr<BitField> Protocols::BitTorrent::Packets::Testing::BitFieldTest::packet [private]
 

Definition at line 61 of file BitFieldTest.cpp.


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