def test_pixel_size_specified_ignores_dpi_width(): width_px = inches_to_px(Inches(1)) image = generate_image(width=width_px, height=1, dpi=(300, 300)) size = image_size(image, width_px=width_px) assert size == {"width": Inches(1)}
def test_no_pixel_size_uses_dpi_width(): width_px = inches_to_px(USABLE_WIDTH, 300) image = generate_image(width=width_px, height=1, dpi=(300, 300)) size = image_size(image) assert size == {}
def test_no_pixel_size_uses_dpi_height(): height_px = inches_to_px(USABLE_HEIGHT, 300) image = generate_image(width=1, height=height_px, dpi=(300, 300)) size = image_size(image) assert size == {}
def test_resize_exceeds_width(): image = generate_image(width=1, height=1) size = image_size(image, height_px=inches_to_px(USABLE_HEIGHT)) assert size == {"width": USABLE_WIDTH}
def test_resize_exceeds_height(): image = generate_image(width=1, height=2) size = image_size(image, width_px=inches_to_px(USABLE_WIDTH)) assert size == {"height": USABLE_HEIGHT}
def test_size_larger_than_usable_width(): image = generate_image(width=100, height=1) max_width_px = inches_to_px(USABLE_WIDTH) + 1 size = image_size(image, width_px=max_width_px) assert size == {"width": USABLE_WIDTH}
def test_size_taller_than_usable_height(): image = generate_image(width=1, height=100) max_height_px = inches_to_px(USABLE_HEIGHT) + 1 size = image_size(image, height_px=max_height_px) assert size == {"height": USABLE_HEIGHT}
def test_image_taller_than_usable_height(): image = generate_image(width=1, height=inches_to_px(USABLE_HEIGHT) + 1) size = image_size(image) assert size == {"height": USABLE_HEIGHT}
def test_image_larger_than_usable_width(): image = generate_image(width=inches_to_px(USABLE_WIDTH) + 1, height=1) size = image_size(image) assert size == {"width": USABLE_WIDTH}
def test_downscale(): image = generate_image(width=2, height=2) size = image_size(image, width_px=1, height_px=1) side = px_to_inches(1) assert size == {"width": side, "height": side}
def test_one_px(): image = generate_image(width=1, height=1) size = image_size(image, 1, 1) side = px_to_inches(1) assert size == {"width": side, "height": side}
def test_pixel_size_specified_ignores_dpi_height(): height_px = inches_to_px(Inches(1)) image = generate_image(width=1, height=height_px, dpi=(300, 300)) size = image_size(image, height_px=height_px) assert size == {"height": Inches(1)}