def test_properties(self):
        x = ByteScanner("Hi \n")

        self.assertEquals(x.position, 0)
        self.assertFalse(x.at_end)
        self.assertEquals(x.bytes_remaining, 4)

        x.read_ubyte()
        self.assertEquals(x.position, 1)
        self.assertFalse(x.at_end)
        self.assertEquals(x.bytes_remaining, 3)

        x.read_ubyte()
        self.assertEquals(x.position, 2)
        self.assertFalse(x.at_end)
        self.assertEquals(x.bytes_remaining, 2)

        x.read_ubyte()
        self.assertEquals(x.position, 3)
        self.assertFalse(x.at_end)
        self.assertEquals(x.bytes_remaining, 1)

        x.read_ubyte()
        self.assertEquals(x.position, 4)
        self.assertTrue(x.at_end)
        self.assertEquals(x.bytes_remaining, 0)
    def test_read_ubyte(self):
        x = ByteScanner("Hi \n")

        self.assertEquals(x.read_ubyte(), "H")
        self.assertEquals(x.read_ubyte(), "i")
        self.assertEquals(x.read_ubyte(), " ")
        self.assertEquals(x.read_ubyte(), "\n")
        self.assertRaises(IndexError, x.read_ubyte)
Beispiel #3
0
    def test_read_ubyte(self):
        x = ByteScanner("Hi \n")

        self.assertEquals(x.read_ubyte(), "H")
        self.assertEquals(x.read_ubyte(), "i")
        self.assertEquals(x.read_ubyte(), " ")
        self.assertEquals(x.read_ubyte(), "\n")
        self.assertRaises(IndexError, x.read_ubyte)
Beispiel #4
0
    def test_peek_next_ubyte_with_negative(self):
        x = ByteScanner("Hi \n")

        x.read_ubyte()
        x.read_ubyte()

        self.assertEquals(x.peek_next_ubyte(-1), "i")
        self.assertEquals(x.peek_next_ubyte(-2), "H")
        self.assertEquals(x.peek_next_ubyte(-3, none_if_bad_index=True), None)
        self.assertRaises(IndexError, x.peek_next_ubyte, (-3))
Beispiel #5
0
    def test_properties(self):
        x = ByteScanner("Hi \n")
        
        self.assertEquals(x.position, 0)
        self.assertFalse(x.at_end)
        self.assertEquals(x.bytes_remaining, 4)

        x.read_ubyte()
        self.assertEquals(x.position, 1)
        self.assertFalse(x.at_end)
        self.assertEquals(x.bytes_remaining, 3)

        x.read_ubyte()
        self.assertEquals(x.position, 2)
        self.assertFalse(x.at_end)
        self.assertEquals(x.bytes_remaining, 2)

        x.read_ubyte()
        self.assertEquals(x.position, 3)
        self.assertFalse(x.at_end)
        self.assertEquals(x.bytes_remaining, 1)

        x.read_ubyte()
        self.assertEquals(x.position, 4)
        self.assertTrue(x.at_end)
        self.assertEquals(x.bytes_remaining, 0)
Beispiel #6
0
    def test_line_number_for_offset_with_negative_offset(self):
        x = ByteScanner("Hi there\nAnother line\nOne more")
        #                 01234567 8901234567890 12345678
        # Advance to the 'n' in One.
        for i in range(23):
            x.read_ubyte()

        self.assertEquals(x.line_number_for_offset(-2), 2)
        self.assertEquals(x.line_number_for_offset(-1), 3)
        self.assertEquals(x.line_number_for_offset(-20), 1)

        self.assertRaises(IndexError, x.line_number_for_offset, (-25))
    def test_peek_next_ubyte(self):
        x = ByteScanner("Hi \n")

        x.read_ubyte()
        x.read_ubyte()

        self.assertEquals(x.peek_next_ubyte(), " ")
        self.assertEquals(x.peek_next_ubyte(1), "\n")
        self.assertEquals(x.peek_next_ubyte(2, none_if_bad_index=True), None)
        self.assertRaises(IndexError, x.peek_next_ubyte, 2)
    def test_peek_next_ubyte_with_negative(self):
        x = ByteScanner("Hi \n")

        x.read_ubyte()
        x.read_ubyte()

        self.assertEquals(x.peek_next_ubyte(-1), "i")
        self.assertEquals(x.peek_next_ubyte(-2), "H")
        self.assertEquals(x.peek_next_ubyte(-3, none_if_bad_index=True), None)
        self.assertRaises(IndexError, x.peek_next_ubyte, (-3))
Beispiel #9
0
    def test_peek_next_ubyte(self):
        x = ByteScanner("Hi \n")

        x.read_ubyte()
        x.read_ubyte()

        self.assertEquals(x.peek_next_ubyte(), " ")
        self.assertEquals(x.peek_next_ubyte(1), "\n")
        self.assertEquals(x.peek_next_ubyte(2, none_if_bad_index=True), None)
        self.assertRaises(IndexError, x.peek_next_ubyte, 2)
Beispiel #10
0
    def test_line_number_for_offset(self):
        x = ByteScanner("Hi there\nAnother line\nOne more")

        self.assertEquals(x.line_number_for_offset(4), 1)
        self.assertEquals(x.line_number_for_offset(9), 2)
        self.assertEquals(x.line_number_for_offset(23), 3)

        x = ByteScanner("Hi there\rAnother line")

        self.assertEquals(x.line_number_for_offset(4), 1)
        self.assertEquals(x.line_number_for_offset(9), 2)

        x = ByteScanner("Hi there\r\nAnother line")

        self.assertEquals(x.line_number_for_offset(4), 1)
        self.assertEquals(x.line_number_for_offset(10), 2)

        self.assertRaises(IndexError, x.line_number_for_offset, 25)
Beispiel #11
0
    def test_line_number_for_offset_with_negative_offset(self):
        x = ByteScanner("Hi there\nAnother line\nOne more")
        #                 01234567 8901234567890 12345678
        # Advance to the 'n' in One.
        for i in range(23):
            x.read_ubyte()

        self.assertEquals(x.line_number_for_offset(-2), 2)
        self.assertEquals(x.line_number_for_offset(-1), 3)
        self.assertEquals(x.line_number_for_offset(-20), 1)

        self.assertRaises(IndexError, x.line_number_for_offset, (-25))
Beispiel #12
0
    def test_line_number_for_offset(self):
        x = ByteScanner("Hi there\nAnother line\nOne more")

        self.assertEquals(x.line_number_for_offset(4), 1)
        self.assertEquals(x.line_number_for_offset(9), 2)
        self.assertEquals(x.line_number_for_offset(23), 3)

        x = ByteScanner("Hi there\rAnother line")

        self.assertEquals(x.line_number_for_offset(4), 1)
        self.assertEquals(x.line_number_for_offset(9), 2)

        x = ByteScanner("Hi there\r\nAnother line")

        self.assertEquals(x.line_number_for_offset(4), 1)
        self.assertEquals(x.line_number_for_offset(10), 2)

        self.assertRaises(IndexError, x.line_number_for_offset, 25)
Beispiel #13
0
    def test_read_ubytes(self):
        x = ByteScanner("Hi there\n")

        self.assertEquals(x.read_ubytes(2), "Hi")
        self.assertEquals(x.read_ubytes(4), " the")
        self.assertRaises(IndexError, x.read_ubytes, 10)
Beispiel #14
0
    def test_constructor(self):
        x = ByteScanner("Hi there")

        self.assertEquals(x.position, 0)
Beispiel #15
0
    def test_read_ubytes(self):
        x = ByteScanner("Hi there\n")

        self.assertEquals(x.read_ubytes(2), "Hi")
        self.assertEquals(x.read_ubytes(4), " the")
        self.assertRaises(IndexError, x.read_ubytes, 10)