# SPDX-FileCopyrightText: (c) 2026 Tenstorrent AI ULC
#
# SPDX-License-Identifier: Apache-2.0

import torch
import pytest


def test_monodepth2():
    from third_party.tt_forge_models.monodepth2.pytorch import ModelLoader

    loader = ModelLoader()
    model = loader.load_model()
    inputs = loader.load_inputs()
    with torch.no_grad():
        outputs = model(inputs)


def test_mplug_owl2():
    from third_party.tt_forge_models.mplug_owl2.pytorch import ModelLoader

    loader = ModelLoader()
    model = loader.load_model()
    inputs = loader.load_inputs()
    with torch.no_grad():
        outputs = model(**inputs)


def test_ssd512():
    from third_party.tt_forge_models.ssd512.object_detection.pytorch.loader import ModelLoader

    loader = ModelLoader()
    model = loader.load_model()
    inputs = loader.load_inputs()
    with torch.no_grad():
        outputs = model(inputs)


def test_minicpm_o_2_6():
    from third_party.tt_forge_models.minicpm_o_2_6.pytorch.loader import ModelLoader

    loader = ModelLoader()
    model = loader.load_model()
    inputs = loader.load_inputs()
    with torch.no_grad():
        outputs = loader.predict(inputs)


def test_rcnn():
    from third_party.tt_forge_models.rcnn.pytorch import ModelLoader

    loader = ModelLoader()
    model = loader.load_model()
    inputs = loader.load_inputs()
    with torch.no_grad():
        outputs = model(*inputs)


def test_ultra_fast_lane_detection():
    from third_party.tt_forge_models.ultra_fast_lane_detection.pytorch.loader import (
        ModelLoader,
    )

    loader = ModelLoader()
    model = loader.load_model()
    inputs = loader.load_inputs()
    with torch.no_grad():
        outputs = model(inputs)


def test_vovnet():
    from third_party.tt_forge_models.vovnet.pytorch import ModelLoader

    loader = ModelLoader()
    model = loader.load_model()
    inputs = loader.load_inputs()
    with torch.no_grad():
        outputs = model(inputs)


def test_vgg_onnx():
    from third_party.tt_forge_models.vgg.image_classification.onnx.loader import (
        ModelLoader,
    )

    loader = ModelLoader()
    inputs = loader.load_inputs()
    assert inputs is not None


def test_olm_ocr():
    from third_party.tt_forge_models.olm_ocr.image_text_generation.pytorch.loader import (
        ModelLoader,
    )

    loader = ModelLoader()
    model = loader.load_model()
    inputs = loader.load_inputs()
    with torch.no_grad():
        outputs = model(**inputs)
