27 lines
734 B
Python
27 lines
734 B
Python
from pathlib import Path
|
|
import pytest
|
|
from numpy.testing import assert_equal
|
|
|
|
from ..pattern import Pattern
|
|
from ..library import Library
|
|
from ..file import oasis
|
|
|
|
|
|
def test_oasis_roundtrip(tmp_path: Path) -> None:
|
|
# Skip if fatamorgana is not installed
|
|
pytest.importorskip("fatamorgana")
|
|
|
|
lib = Library()
|
|
pat1 = Pattern()
|
|
pat1.polygon((1, 0), vertices=[[0, 0], [10, 0], [10, 10], [0, 10]])
|
|
lib["cell1"] = pat1
|
|
|
|
oas_file = tmp_path / "test.oas"
|
|
# OASIS needs units_per_micron
|
|
oasis.writefile(lib, oas_file, units_per_micron=1000)
|
|
|
|
read_lib, info = oasis.readfile(oas_file)
|
|
assert "cell1" in read_lib
|
|
|
|
# Check bounds
|
|
assert_equal(read_lib["cell1"].get_bounds(), [[0, 0], [10, 10]])
|