# Path: mugen/video/sizing.py
# class Dimensions(DimensionsBase):
#     __slots__ = ()
# 
#     @property
#     def aspect_ratio(self) -> float:
#         return self.width / self.height
# 
#     @property
#     def resolution(self) -> int:
#         return self.width * self.height


import pytest
import mugen.video.sizing as video_sizing
from mugen.video.sizing import Dimensions
        == expected_dimensions
    )


@pytest.mark.parametrize(
    "dimensions, desired_aspect_ratio, expected_coordinates",
    [
        (get_16_9_dimensions(), 16 / 9, (0, 0, 1920, 1080)),
        (get_16_9_dimensions(), 4 / 3, (240, 0, 1680, 1080)),
        (get_4_3_dimensions(), 16 / 9, (0, 67.5, 720, 472.5)),
    ],
)
def test_crop_coordinates_for_aspect_ratio(
    dimensions, desired_aspect_ratio, expected_coordinates
):
    assert (
        video_sizing.crop_coordinates_for_aspect_ratio(dimensions, desired_aspect_ratio)
        == expected_coordinates
    )


@pytest.mark.parametrize(
    "dimensions_list, desired_aspect_ratio, default, expected_dimensions",
    [
        ([], 16 / 9, "default", "default"),
        (get_list_of_dimensions(), 4 / 3, None, (1440, 1080)),
        (get_list_of_dimensions(), 16 / 9, None, (1920, 1080)),
        (get_list_of_dimensions(), 21 / 9, None, (1920, 822)),
    ],
)

# Path: mugen/video/sizing.py
# class Dimensions(DimensionsBase):
#     __slots__ = ()
# 
#     @property
#     def aspect_ratio(self) -> float:
#         return self.width / self.height
# 
#     @property
#     def resolution(self) -> int:
#         return self.width * self.height


# Path: tests/unit/video/test_sizing.py
import pytest
import mugen.video.sizing as video_sizing
from mugen.video.sizing import Dimensions

        == expected_dimensions
    )


@pytest.mark.parametrize(
    "dimensions, desired_aspect_ratio, expected_coordinates",
    [
        (get_16_9_dimensions(), 16 / 9, (0, 0, 1920, 1080)),
        (get_16_9_dimensions(), 4 / 3, (240, 0, 1680, 1080)),
        (get_4_3_dimensions(), 16 / 9, (0, 67.5, 720, 472.5)),
    ],
)
def test_crop_coordinates_for_aspect_ratio(
    dimensions, desired_aspect_ratio, expected_coordinates
):
    assert (
        video_sizing.crop_coordinates_for_aspect_ratio(dimensions, desired_aspect_ratio)
        == expected_coordinates
    )


@pytest.mark.parametrize(
    "dimensions_list, desired_aspect_ratio, default, expected_dimensions",
    [
        ([], 16 / 9, "default", "default"),
        (get_list_of_dimensions(), 4 / 3, None, (1440, 1080)),
        (get_list_of_dimensions(), 16 / 9, None, (1920, 1080)),
        (get_list_of_dimensions(), 21 / 9, None, (1920, 822)),
    ],
)

def test_largest_dimensions_for_aspect_ratio(