mirror of
https://github.com/gradio-app/gradio.git
synced 2025-01-12 10:34:32 +08:00
5622331da7
* add type to test * ignore certain demos * notebooks * type test_video * more typing * more typing * more typing * add changeset * more typing * more * more * files * ds * ds * plots * audio push * annotated * utils * routes * iface * server * restore * external * dep * components * chat interface * fixes * blocks * blocks * blocks * blocks * fixes * fixes * format * fix --------- Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
75 lines
2.4 KiB
Python
75 lines
2.4 KiB
Python
from pathlib import Path
|
|
from unittest.mock import patch
|
|
|
|
import numpy as np
|
|
import pandas as pd
|
|
|
|
import gradio as gr
|
|
|
|
|
|
class TestDataset:
|
|
def test_preprocessing(self):
|
|
test_file_dir = Path(__file__).parent / "test_files"
|
|
bus = str(Path(test_file_dir, "bus.png").resolve())
|
|
|
|
dataset = gr.Dataset(
|
|
components=["number", "textbox", "image", "html", "markdown"],
|
|
samples=[
|
|
[5, "hello", bus, "<b>Bold</b>", "**Bold**"],
|
|
[15, "hi", bus, "<i>Italics</i>", "*Italics*"],
|
|
],
|
|
)
|
|
|
|
row = dataset.preprocess(1)
|
|
assert isinstance(row, list)
|
|
assert row[0] == 15
|
|
assert row[1] == "hi"
|
|
assert row[2].endswith("bus.png")
|
|
assert row[3] == "<i>Italics</i>"
|
|
assert row[4] == "*Italics*"
|
|
|
|
dataset = gr.Dataset(
|
|
components=["number", "textbox", "image", "html", "markdown"],
|
|
samples=[
|
|
[5, "hello", bus, "<b>Bold</b>", "**Bold**"],
|
|
[15, "hi", bus, "<i>Italics</i>", "*Italics*"],
|
|
],
|
|
type="index",
|
|
)
|
|
|
|
assert dataset.preprocess(1) == 1
|
|
|
|
radio = gr.Radio(choices=[("name 1", "value 1"), ("name 2", "value 2")])
|
|
dataset = gr.Dataset(samples=[["value 1"], ["value 2"]], components=[radio])
|
|
assert dataset.samples == [["value 1"], ["value 2"]]
|
|
|
|
def test_postprocessing(self):
|
|
dataset = gr.Dataset(
|
|
components=["number", "textbox", "image", "html", "markdown"], type="index"
|
|
)
|
|
assert dataset.postprocess(1) == 1
|
|
|
|
|
|
@patch(
|
|
"gradio.components.Component.process_example",
|
|
spec=gr.components.Component.process_example,
|
|
)
|
|
@patch("gradio.components.Image.process_example", spec=gr.Image.process_example)
|
|
@patch("gradio.components.File.process_example", spec=gr.File.process_example)
|
|
@patch("gradio.components.Dataframe.process_example", spec=gr.DataFrame.process_example)
|
|
@patch("gradio.components.Model3D.process_example", spec=gr.Model3D.process_example)
|
|
def test_dataset_calls_process_example(*mocks):
|
|
gr.Dataset(
|
|
components=[gr.Dataframe(), gr.File(), gr.Image(), gr.Model3D(), gr.Textbox()],
|
|
samples=[
|
|
[
|
|
pd.DataFrame({"a": np.array([1, 2, 3])}),
|
|
"foo.png",
|
|
"bar.jpeg",
|
|
"duck.obj",
|
|
"hello",
|
|
]
|
|
],
|
|
)
|
|
assert all(m.called for m in mocks)
|