Files
dodgeball-tracker/tests/test_logic.py
T
2024-11-23 09:16:24 -05:00

40 lines
1.2 KiB
Python

import numpy as np
import pandas as pd
import pandera as pa
import pytest
from dodgeballtracker.logic import BirdViewCreator
from dodgeballtracker.typing import TrackedDetectedObject
@pytest.fixture
def view_perspective() -> np.matrix:
return np.matrix([
[200, 100, 0],
[100, 100, 0],
[0, 0, 1]
])
@pytest.fixture
@pa.check_io(out=TrackedDetectedObject)
def mock_data() -> pd.DataFrame:
return pd.DataFrame(
{
"xmin": pd.Series(dtype='float64', data=[10.0, 100.0]),
"ymin": pd.Series(dtype='float64', data=[30.0, 130.0]),
"xmax": pd.Series(dtype='float64', data=[55.0, 150.0]),
"ymax": pd.Series(dtype='float64', data=[65.0, 195.0]),
"score": pd.Series(dtype='float64', data=[0.66, 0.56]),
"category": pd.Series(dtype='float64', data=[3, 3]),
"object_id": pd.Series(dtype='float64', data=[73232, 837276]),
"index": pd.Series(dtype='float64', data=[0, 1]),
}
)
def test_get_bird_view(view_perspective: np.matrix,
mock_data: pd.DataFrame) -> None:
bvd = BirdViewCreator(view_perspective)
ret = bvd.append_bird_view(mock_data)