class TestParserRead(ut.TestCase): """Tests the Parser.read() method""" def setUp(self): self.data = b'\x01\x02\x03\x04\x05' self.parser = Parser(io.BytesIO(self.data)) def test_read_full(self): self.assertEqual(self.parser.read(5), self.data) def test_read_parial(self): self.assertEqual(self.parser.read(4), self.data[:4]) self.assertEqual(self.parser.read(0), b'') self.assertEqual(self.parser.read(1), self.data[4:]) def test_read_beyond_EOF(self): with self.assertRaises(IOError): self.parser.read(6)