Files
doczyai-pipelines/fieldExtraction/tests/string_utils_test.py
T

53 lines
2.8 KiB
Python
Raw Normal View History

import pytest
from src.enums.delimiters import Delimiter
from src.utils.string_utils import extract_text_from_delimiters
class TestExtractTextFromDelimiters:
# Test case for valid inputs
def test_pipe_delimiter_match_first_position(self):
raw_text = "Here is the answer |this is a pipe answer| and |more text.|"
result = extract_text_from_delimiters(raw_text,delimiter=Delimiter.PIPE,match_index=0)
assert result == "this is a pipe answer"
def test_pipe_delimiter_match_last_position(self):
raw_text = "Here is the answer |this is a pipe answer| and |more text.|"
result = extract_text_from_delimiters(raw_text,delimiter=Delimiter.PIPE,match_index=-1)
assert result == "more text."
def test_pipe_delimiter_match_any_position(self):
raw_text = "|Here| is the answer |this is a pipe answer| and |more text.|"
result = extract_text_from_delimiters(raw_text,delimiter=Delimiter.PIPE,match_index=1)
assert result == "this is a pipe answer"
def test_backtick_delimiter_match_first_position(self):
raw_text = "Here is the answer `this is a backtick answer` and `more text.`"
result = extract_text_from_delimiters(raw_text, delimiter=Delimiter.BACKTICK, match_index=0)
assert result == "this is a backtick answer"
def test_backtick_delimiter_match_last_position(self):
raw_text = "Here is the answer `this is a backtick answer` and `more text.`"
result = extract_text_from_delimiters(raw_text, delimiter=Delimiter.BACKTICK, match_index=-1)
assert result == "more text."
def test_backtick_delimiter_match_any_position(self):
raw_text = "`Here` is the answer `this` is a `backtick answer` and `more text.`"
result = extract_text_from_delimiters(raw_text, delimiter=Delimiter.BACKTICK, match_index=2)
assert result == "backtick answer"
def test_triple_backtick_delimiter_match_first_position(self):
raw_text = "Here is the answer ```this is a triple backtick answer``` and more text."
result = extract_text_from_delimiters(raw_text, delimiter=Delimiter.TRIPLE_BACKTICK, match_index=0)
assert result == "this is a triple backtick answer"
def test_triple_backtick_delimiter_match_last_position(self):
raw_text = "Here is the answer ```this``` is a ```triple``` backtick ```answer``` and more text."
result = extract_text_from_delimiters(raw_text, delimiter=Delimiter.TRIPLE_BACKTICK, match_index=-1)
assert result == "answer"
def test_triple_backtick_delimiter_match_any_position(self):
raw_text = "```Here``` is the answer ```this is a triple backtick answer``` and ```more text.```"
result = extract_text_from_delimiters(raw_text, delimiter=Delimiter.TRIPLE_BACKTICK, match_index=1)
assert result == "this is a triple backtick answer"