AI_Lab_CAM / tests /test_developer_api.py
Aditya7864's picture
Add application file
8096125
Raw
History Blame Contribute Delete
1.51 kB
import tempfile
from pathlib import Path
import numpy as np
from developer_api import load_image, process_image, save_image, generate_python_snippet
def sample_img():
arr = np.zeros((40, 50, 3), dtype=np.uint8)
arr[10:30, 10:30] = [100, 150, 200]
return arr
def test_developer_api_process_image():
img = sample_img()
out, meta = process_image(img, "filter", operation_name="Sepia")
assert out.shape == img.shape
assert meta["operation"] == "Sepia"
def test_developer_api_transform_and_morph():
img = sample_img()
out_t, meta_t = process_image(img, "transform", operation_name="Rotation", params={"angle": 15})
assert out_t.ndim == 3
assert out_t.shape[2] == 3
out_m, meta_m = process_image(img, "morphology", operation_name="Opening", params={"size": 3})
assert out_m.shape == img.shape
def test_developer_api_ar():
img = sample_img()
out_ar, meta_ar = process_image(img, "ar", operation_name="Glasses")
assert out_ar.shape == img.shape
assert "status" in meta_ar
def test_generate_python_snippet():
snippet = generate_python_snippet("Sepia", {"contrast": 1.2})
assert "apply_step" in snippet
assert "Sepia" in snippet
def test_save_and_load_image():
img = sample_img()
with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as f:
tmp_path = f.name
save_image(img, tmp_path)
loaded = load_image(tmp_path)
assert loaded.shape == img.shape
Path(tmp_path).unlink(missing_ok=True)