From df51682827b7545d42ee484d1d79a186693e3c32 Mon Sep 17 00:00:00 2001 From: Jamie Bull Date: Fri, 11 Nov 2022 12:38:19 +0000 Subject: [PATCH] Keeps the defaultvalues kwarg, and passes it through to newrawobject --- geomeppy/patches.py | 10 ++++++---- tests/test_regressions.py | 5 +++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/geomeppy/patches.py b/geomeppy/patches.py index 72253dd9..9aea5ab5 100644 --- a/geomeppy/patches.py +++ b/geomeppy/patches.py @@ -264,11 +264,12 @@ def read(self): ) self.__class__.setidd(idd_info, idd_index, block, versiontuple) - def newidfobject(self, key, aname="", **kwargs): - # type: (str, str, **Any) -> EpBunch + def newidfobject(self, key, aname="", defaultvalues=True, **kwargs): + # type: (str, str, bool, **Any) -> EpBunch """Add a new idfobject to the model. - If you don't specify a value for a field, the default value will be set. + If you don't specify a value for a field, the default value will be set, unless + defaultvalues is set to False. For example :: @@ -280,10 +281,11 @@ def newidfobject(self, key, aname="", **kwargs): :param key: The type of IDF object. This must be in ALL_CAPS. :param aname: This parameter is not used. It is left there for backward compatibility. + :param defaultvalues: Specifies whether to set default values when creating IDF objects. :param kwargs: Keyword arguments in the format `field=value` used to set fields in the EnergyPlus object. :returns: EpBunch object. """ - obj = newrawobject(self.model, self.idd_info, key) + obj = newrawobject(self.model, self.idd_info, key, defaultvalues=defaultvalues) abunch = obj2bunch(self.model, self.idd_info, obj) if aname: warnings.warn( diff --git a/tests/test_regressions.py b/tests/test_regressions.py index 05294291..b49ffda1 100644 --- a/tests/test_regressions.py +++ b/tests/test_regressions.py @@ -207,3 +207,8 @@ def test_shadow_intersecting(new_idf, shadow_matching): new_idf.intersect() shadows = [Polygon3D(s.coords) for s in new_idf.getshadingsurfaces()] assert len(shadows) == 23 + + +def test_defaultvalues_in_newidfobject(new_idf): + obj = new_idf.newidfobject("ZONE", Name="O-Zone", defaultvalues=True) + assert obj.Name == "O-Zone"