You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/tests/utils/test_extract_code_from_mark...

49 lines
1.1 KiB

import pytest
from swarms.utils import extract_code_from_markdown
@pytest.fixture
def markdown_content_with_code():
return """
# This is a markdown document
Some intro text here.
Some additional text.
"""
@pytest.fixture
def markdown_content_without_code():
return """
# This is a markdown document
There is no code in this document.
"""
def test_extract_code_from_markdown_with_code(
markdown_content_with_code,
):
extracted_code = extract_code_from_markdown(
markdown_content_with_code
)
assert "def my_func():" in extracted_code
assert 'print("This is my function.")' in extracted_code
assert "class MyClass:" in extracted_code
assert "pass" in extracted_code
def test_extract_code_from_markdown_without_code(
markdown_content_without_code,
):
extracted_code = extract_code_from_markdown(
markdown_content_without_code
)
assert extracted_code == ""
def test_extract_code_from_markdown_exception():
with pytest.raises(TypeError):
extract_code_from_markdown(None)