mirror of
https://github.com/hwchase17/langchain
synced 2024-11-08 07:10:35 +00:00
30 lines
950 B
Python
30 lines
950 B
Python
|
"""Test Base Schema of documents."""
|
||
|
from typing import Iterator
|
||
|
|
||
|
from langchain_core.documents import Document
|
||
|
|
||
|
from langchain_community.document_loaders.base import BaseBlobParser
|
||
|
from langchain_community.document_loaders.blob_loaders import Blob
|
||
|
|
||
|
|
||
|
def test_base_blob_parser() -> None:
|
||
|
"""Verify that the eager method is hooked up to the lazy method by default."""
|
||
|
|
||
|
class MyParser(BaseBlobParser):
|
||
|
"""A simple parser that returns a single document."""
|
||
|
|
||
|
def lazy_parse(self, blob: Blob) -> Iterator[Document]:
|
||
|
"""Lazy parsing interface."""
|
||
|
yield Document(
|
||
|
page_content="foo",
|
||
|
)
|
||
|
|
||
|
parser = MyParser()
|
||
|
|
||
|
assert isinstance(parser.lazy_parse(Blob(data="who?")), Iterator)
|
||
|
|
||
|
# We're verifying that the eager method is hooked up to the lazy method by default.
|
||
|
docs = parser.parse(Blob(data="who?"))
|
||
|
assert len(docs) == 1
|
||
|
assert docs[0].page_content == "foo"
|