40 lines
1.2 KiB
Python
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)
|