def test_decodeFailedAtSplit(self): for s in ('||4A', '', ' ', '|'): self.assertRaises( InvalidFrame, lambda: SackFrame.decode(sf(s)))
def test_decodeNoSackNumbers(self): s = '|%sA' % (2**53,) self.assertEqual( SackFrame(SACK(2**53, ())), SackFrame.decode(sf(s)))
def test_decodeFailedOneSackNumberInvalid(self): for badNum in (2**53+1, -1, 0.5, 1.5): s = '1,%s|4A' % (badNum,) self.assertRaises( InvalidFrame, lambda: SackFrame.decode(sf(s)))
def test_decode(self): for ackNum in (-1, 0, 1, 2**53): s = '1,4|%sA' % (ackNum,) self.assertEqual( SackFrame(SACK(ackNum, (1, 4))), SackFrame.decode(sf(s)))