Esempio n. 1
0
def test_get_contents_after_insert4(input_file_simple):
    pt = PieceTable.fromfile(input_file_simple)
    assert len(pt.pieces) == 1
    pt.insert(0, 'unseriousnessbywayofhowtosandhacks\n')
    exp = 'unseriousnessbywayofhowtosandhacks\nthe quick brown fox\njumped over the lazy dog'
    assert pt.get_contents() == exp
    assert len(pt.pieces) == 2
Esempio n. 2
0
def test_init():
    pt = PieceTable()
    assert pt != None
    assert isinstance(pt, PieceTable)
    assert pt.original == ''
    assert pt.added == ''
    assert len(pt.pieces) == 0
Esempio n. 3
0
def test_get_contents_after_insert2(input_file_simple):
    pt = PieceTable.fromfile(input_file_simple)
    assert len(pt.pieces) == 1
    pt.insert(1, 'a')
    exp = 'tahe quick brown fox\njumped over the lazy dog'
    assert pt.get_contents() == exp
    print(pt.pieces)
    assert len(pt.pieces) == 3
Esempio n. 4
0
def test_from_file(input_file_simple):
    pt = PieceTable.fromfile(input_file_simple)
    assert len(pt.pieces) == 1
    piece = pt.pieces[0]
    assert piece.start == 0
    assert piece.length == 44
    assert piece.piece_type == PieceType.ORIGINAL
    assert len(pt.original) == 44
    line_starts = piece.line_starts
    assert len(line_starts) == 2
    assert line_starts[0] == 0
    assert line_starts[1] == 20
Esempio n. 5
0
def test_insert_middle(input_file_simple):
    pt = PieceTable.fromfile(input_file_simple)
    assert len(pt.pieces) == 1
    pt.insert(20, "went to the park and\n")
    assert len(pt.pieces) == 3
    assert pt.pieces[0].start == 0
    assert pt.pieces[0].length == 20
    assert pt.pieces[0].piece_type == PieceType.ORIGINAL
    assert pt.pieces[1].start == 0
    assert pt.pieces[1].length == 21
    assert pt.pieces[1].piece_type == PieceType.ADDED
    assert pt.pieces[2].start == 20
    assert pt.pieces[2].length == 24
    assert pt.pieces[2].piece_type == PieceType.ORIGINAL
Esempio n. 6
0
def test_get_contents_after_insert5(input_file_simple):
    pt = PieceTable.fromfile(input_file_simple)
    assert len(pt.pieces) == 1
    pt.insert(44, '\n\n thats the end')
    exp = 'the quick brown fox\njumped over the lazy dog\n\n thats the end'
    assert pt.get_contents() == exp
    pt.insert(47, "asdf ")
    exp = 'the quick brown fox\njumped over the lazy dog\n\n asdf thats the end'
    assert pt.get_contents() == exp
    pt.insert(5, 'qqq')
    exp = 'the qqqquick brown fox\njumped over the lazy dog\n\n asdf thats the end'
    assert pt.get_contents() == exp
    print(pt.pieces)
    pt.insert(53, " dang ")
    print(pt.pieces)
    exp = 'the qqqquick brown fox\njumped over the lazy dog\n\n asd dang f thats the end'
    assert pt.get_contents() == exp
Esempio n. 7
0
def test_get_piece_from_offset():
    piece1 = Piece(start=0, length=20)
    piece2 = Piece(start=0, length=21, piece_type=PieceType.ADDED)
    piece3 = Piece(start=20, length=24)
    pt = PieceTable(pieces=[piece1, piece2, piece3])
    piece4, po = pt.get_piece_from_offset(20)
    assert piece4 is piece1
    assert po == 20
    piece4, po = pt.get_piece_from_offset(21)
    assert piece4 is piece2
    assert po == 1
    piece4, po = pt.get_piece_from_offset(41)
    assert piece4 is piece2
    assert po == 21
    piece4, po = pt.get_piece_from_offset(63)
    assert piece4 is piece3
    assert po == 22
Esempio n. 8
0
def test_get_contents_after_insert(input_file_simple):
    pt = PieceTable.fromfile(input_file_simple)
    assert len(pt.pieces) == 1
    pt.insert(20, "went to the park and\n")
    exp = 'the quick brown fox\nwent to the park and\njumped over the lazy dog'
    assert pt.get_contents() == exp