class Write():
    def __init__(self):
        self.pencil = Pencil(pencilLength=4, eraserDurability=10)
        self.paper = ''

    def write_on_paper(self, desired_text_to_write):
        text_to_write = self.pencil.pencil_write(desired_text_to_write)
        self.paper += text_to_write

    def sharpen_pencil(self):
        self.pencil.pencil_sharpen()

    def erase(self, desired_text_to_erase):
        text_to_erase = self.pencil.pencil_erase(
            text_to_erase=desired_text_to_erase)
        index = self.paper.rfind(desired_text_to_erase)
        self.paper = self.paper[:index] + text_to_erase + self.paper[
            index + len(text_to_erase):]
        return index

    def edit(self, index, text_to_add):
        current_text = self.paper[index:index + len(text_to_add)]
        for i in range(0, len(text_to_add)):
            if current_text[i] != text_to_add[i]:
                if not current_text[i].isspace(
                ) and not text_to_add[i].isspace():
                    text_to_add = text_to_add[:i] + '@' + text_to_add[i + 1:]
                else:
                    text_to_add = text_to_add[:i] + text_to_add[
                        i] + text_to_add[i + 1:]
        text_to_write = self.pencil.pencil_write(text_to_add)
        self.paper = self.paper[:index] + text_to_write + self.paper[
            index + len(text_to_add):]
Пример #2
0
 def test_erase_one_letter_with_white_space_update_the_eraser_durability_have_an_empty_string_with_two_white_spaces(
         self):
     p = Pencil(pencilLength=4, eraserDurability=4)
     erased_text = p.pencil_erase(text_to_erase='a ')
     self.assertEqual(p.eraserDurability, 3)
     self.assertEqual(erased_text, "  ")
Пример #3
0
 def test_erase_five_letters_with_eraser_durability_being_less_than_five_update_the_eraser_durability_to_have_a_string_with_one_letter_and_three_white_spaces(
         self):
     p = Pencil(pencilLength=4, eraserDurability=4)
     erased_text = p.pencil_erase(text_to_erase='abcde')
     self.assertEqual(p.eraserDurability, 0)
     self.assertEqual(erased_text, "a    ")