# Path: geomeppy/idf.py
# def new_idf(fname):
#     def intersect_match(self):
#     def intersect(self):
#     def match(self):
#     def translate_to_origin(self):
#     def translate(self, vector):
#     def rotate(self, angle, anchor=None):
#     def scale(self, factor, anchor=None, axes="xy"):
#     def set_default_constructions(self):
#     def bounding_box(self):
#     def centroid(self):
#     def getsurfaces(self, surface_type=""):
#     def getsubsurfaces(self, surface_type=""):
#     def getshadingsurfaces(self, surface_type=""):
#     def set_wwr(
#         self, wwr=0.2, construction=None, force=False, wwr_map={}, orientation=None
#     ):
#     def view_model(self, test=False):
#     def to_obj(self, fname=None, mtllib=None):
#     def add_block(self, *args, **kwargs):
#     def add_shading_block(self, *args, **kwargs):
#     def add_zone(self, zone):
# class IDF(PatchedIDF):


from geomeppy.idf import EpBunch
"""Tests for fetching surfaces."""


class TestSurfaces:
    def test_surfaces(self, wwr_idf):
        # type: () -> None
        idf = wwr_idf
        surfaces = idf.getsurfaces()
        assert surfaces
        assert all(isinstance(s, EpBunch) for s in surfaces)

    def test_subsurfaces(self, wwr_idf):
        # type: () -> None
        idf = wwr_idf
        surfaces = idf.getsubsurfaces()
        assert surfaces
        assert all(isinstance(s, EpBunch) for s in surfaces)

    def test_shadingsurfaces(self, base_idf):
        # type: () -> None
        idf = base_idf
        surfaces = idf.getshadingsurfaces()
        assert surfaces

# Path: geomeppy/idf.py
# def new_idf(fname):
#     def intersect_match(self):
#     def intersect(self):
#     def match(self):
#     def translate_to_origin(self):
#     def translate(self, vector):
#     def rotate(self, angle, anchor=None):
#     def scale(self, factor, anchor=None, axes="xy"):
#     def set_default_constructions(self):
#     def bounding_box(self):
#     def centroid(self):
#     def getsurfaces(self, surface_type=""):
#     def getsubsurfaces(self, surface_type=""):
#     def getshadingsurfaces(self, surface_type=""):
#     def set_wwr(
#         self, wwr=0.2, construction=None, force=False, wwr_map={}, orientation=None
#     ):
#     def view_model(self, test=False):
#     def to_obj(self, fname=None, mtllib=None):
#     def add_block(self, *args, **kwargs):
#     def add_shading_block(self, *args, **kwargs):
#     def add_zone(self, zone):
# class IDF(PatchedIDF):


# Path: tests/test_get_surfaces.py
from geomeppy.idf import EpBunch

"""Tests for fetching surfaces."""


class TestSurfaces:
    def test_surfaces(self, wwr_idf):
        # type: () -> None
        idf = wwr_idf
        surfaces = idf.getsurfaces()
        assert surfaces
        assert all(isinstance(s, EpBunch) for s in surfaces)

    def test_subsurfaces(self, wwr_idf):
        # type: () -> None
        idf = wwr_idf
        surfaces = idf.getsubsurfaces()
        assert surfaces
        assert all(isinstance(s, EpBunch) for s in surfaces)

    def test_shadingsurfaces(self, base_idf):
        # type: () -> None
        idf = base_idf
        surfaces = idf.getshadingsurfaces()
        assert surfaces

        assert all(isinstance(s, EpBunch) for s in surfaces)