Spaces:
Running
Running
William Easton commited on
add test for list case and lint
Browse files- tests/tools/test_tool.py +28 -6
tests/tools/test_tool.py
CHANGED
|
@@ -449,7 +449,7 @@ class TestConvertResultToContent:
|
|
| 449 |
def test_image_object_result(self):
|
| 450 |
"""Test that an Image object is converted to ImageContent."""
|
| 451 |
image_obj = Image(data=b"fakeimagedata")
|
| 452 |
-
|
| 453 |
result = _convert_to_content(image_obj)
|
| 454 |
|
| 455 |
assert isinstance(result, list)
|
|
@@ -505,7 +505,7 @@ class TestConvertResultToContent:
|
|
| 505 |
result = _convert_to_content([content1, image_obj, basic_data])
|
| 506 |
|
| 507 |
assert isinstance(result, list)
|
| 508 |
-
assert len(result) == 3
|
| 509 |
|
| 510 |
text_content_count = sum(isinstance(item, TextContent) for item in result)
|
| 511 |
image_content_count = sum(isinstance(item, ImageContent) for item in result)
|
|
@@ -519,6 +519,28 @@ class TestConvertResultToContent:
|
|
| 519 |
image_item = next(item for item in result if isinstance(item, ImageContent))
|
| 520 |
assert image_item.data == "ZmFrZWltYWdlZGF0YQ=="
|
| 521 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 522 |
def test_empty_list(self):
|
| 523 |
"""Test that an empty list results in an empty list."""
|
| 524 |
result = _convert_to_content([])
|
|
@@ -579,7 +601,7 @@ class TestConvertResultToContent:
|
|
| 579 |
assert len(result) == 1
|
| 580 |
assert isinstance(result[0], TextContent)
|
| 581 |
|
| 582 |
-
assert
|
| 583 |
-
|
| 584 |
-
|
| 585 |
-
|
|
|
|
| 449 |
def test_image_object_result(self):
|
| 450 |
"""Test that an Image object is converted to ImageContent."""
|
| 451 |
image_obj = Image(data=b"fakeimagedata")
|
| 452 |
+
|
| 453 |
result = _convert_to_content(image_obj)
|
| 454 |
|
| 455 |
assert isinstance(result, list)
|
|
|
|
| 505 |
result = _convert_to_content([content1, image_obj, basic_data])
|
| 506 |
|
| 507 |
assert isinstance(result, list)
|
| 508 |
+
assert len(result) == 3
|
| 509 |
|
| 510 |
text_content_count = sum(isinstance(item, TextContent) for item in result)
|
| 511 |
image_content_count = sum(isinstance(item, ImageContent) for item in result)
|
|
|
|
| 519 |
image_item = next(item for item in result if isinstance(item, ImageContent))
|
| 520 |
assert image_item.data == "ZmFrZWltYWdlZGF0YQ=="
|
| 521 |
|
| 522 |
+
def test_list_of_mixed_types_list(self):
|
| 523 |
+
"""Test that a list of mixed types is converted correctly."""
|
| 524 |
+
content1 = TextContent(type="text", text="hello")
|
| 525 |
+
image_obj = Image(data=b"fakeimagedata")
|
| 526 |
+
basic_data = [{"a": 1}, {"b": 2}]
|
| 527 |
+
result = _convert_to_content([content1, image_obj, basic_data])
|
| 528 |
+
|
| 529 |
+
assert isinstance(result, list)
|
| 530 |
+
assert len(result) == 3
|
| 531 |
+
|
| 532 |
+
text_content_count = sum(isinstance(item, TextContent) for item in result)
|
| 533 |
+
image_content_count = sum(isinstance(item, ImageContent) for item in result)
|
| 534 |
+
|
| 535 |
+
assert text_content_count == 2
|
| 536 |
+
assert image_content_count == 1
|
| 537 |
+
|
| 538 |
+
text_item = next(item for item in result if isinstance(item, TextContent))
|
| 539 |
+
assert text_item.text == '[\n {\n "a": 1\n },\n {\n "b": 2\n }\n]'
|
| 540 |
+
|
| 541 |
+
image_item = next(item for item in result if isinstance(item, ImageContent))
|
| 542 |
+
assert image_item.data == "ZmFrZWltYWdlZGF0YQ=="
|
| 543 |
+
|
| 544 |
def test_empty_list(self):
|
| 545 |
"""Test that an empty list results in an empty list."""
|
| 546 |
result = _convert_to_content([])
|
|
|
|
| 601 |
assert len(result) == 1
|
| 602 |
assert isinstance(result[0], TextContent)
|
| 603 |
|
| 604 |
+
assert (
|
| 605 |
+
result[0].text
|
| 606 |
+
== '[\n 1,\n {\n "type": "text",\n "text": "hello",\n "annotations": null\n }\n]'
|
| 607 |
+
)
|