def test_piece(self): self.assertEquals( Message('piece', index=4, offset=2 * BSIZE, block=bitarray('00000001')), '\x00\x00\x00\x0a\x07\x00\x00\x00\x04\x00\x00\x80\x00\x01')
def test_allowed_fast(self): self.assertEquals(Message('allowed_fast', index=89), '\x00\x00\x00\x05\x11\x00\x00\x00\x59')
def test_keep_alive(self): self.assertEquals(Message('keep_alive'), '\x00\x00\x00\x00')
def test_have_none(self): self.assertEquals(Message('have_none'), '\x00\x00\x00\x01\x0f')
def test_have_all(self): self.assertEquals(Message('have_all'), '\x00\x00\x00\x01\x0e')
def test_suggest_piece(self): self.assertEquals(Message('suggest_piece', index=4), '\x00\x00\x00\x05\x0d\x00\x00\x00\x04')
def test_reject_request(self): self.assertEquals( Message('reject_request', index=4, offset=2 * BSIZE, length=BSIZE), '\x00\x00\x00\x0d\x10\x00\x00\x00\x04\x00\x00\x80\x00\x00\x00\x40\x00' )
def test_port(self): self.assertEquals(Message('port', listen_port=8000), '\x00\x00\x00\x03\x09\x1f\x40')
def test_cancel(self): self.assertEquals( Message('cancel', index=4, offset=2 * BSIZE, length=BSIZE), '\x00\x00\x00\x0d\x08\x00\x00\x00\x04\x00\x00\x80\x00\x00\x00\x40\x00' )
def test_bitfield(self): bit = bitarray('01011000') self.assertEquals(Message('bitfield', bitfield=bit), '\x00\x00\x00\x02\x05\x58')
def test_have(self): self.assertEquals(Message('have', index=19), '\x00\x00\x00\x05\x04\x00\x00\x00\x13')
def test_not_interested(self): self.assertEquals(Message('not_interested'), '\x00\x00\x00\x01\x03')
def test_unchoke(self): self.assertEquals(Message('unchoke'), '\x00\x00\x00\x01\x01')
def test_choke(self): self.assertEquals(Message('choke'), '\x00\x00\x00\x01\x00')