def setup_class(cls): for prefix, dims in cls.DIMENSIONS.items(): # call dim setup methods for dim in dims: dim.setup() # create attribute dictionaries for use as self.iterdata values for varnames in cls.permuteVars(prefix): cls._METHOD_DATA[(prefix, tuple(varnames))] = DictUtils.attrdict() # call prefix's class setup methods setupmeth = getattr(cls, "setup_class_" + prefix, None) if callable(setupmeth): for varnames in cls.permuteVars(prefix): cls.iterdata = cls._METHOD_DATA[(prefix, tuple(varnames))] args = cls.getMethodArgs(prefix, varnames) try: setupmeth(*args) except Exception as e: cls.iterdata['_iterativetest_setup_class_failed'] = ( e, sys.exc_info()[2]) del cls.iterdata
def test_missing_attr(self): d = DictUtils.attrdict() d["VaLuE"] = 5 assert "HeGeMoNy" not in d.keys() assert d.get("HeGeMoNy", 5) == 5 assert raises(KeyError, d.__getitem__, "HeGeMoNy") assert getattr(d, "HeGeMoNy", 9) == 9 assert raises(AttributeError, getattr, d, "HeGeMoNy")
def test_default_attr(self): d = DictUtils.attrdict() d.VaLuE = 5 d.set_default_value(32) assert "HeGeMoNy" not in d.keys() assert d.get("HeGeMoNy", 5) == 5 assert raises(KeyError, d.__getitem__, "HeGeMoNy") assert getattr(d, "HeGeMoNy") == 32 assert getattr(d, "HeGeMoNy", 9) == 32
def setup_class(cls): for prefix, dims in cls.DIMENSIONS.iteritems(): # call dim setup methods for dim in dims: dim.setup() # create attribute dictionaries for use as self.iterdata values for varnames in cls.permuteVars(prefix): cls._METHOD_DATA[(prefix,tuple(varnames))] = DictUtils.attrdict() # call prefix's class setup methods setupmeth = getattr(cls,"setup_class_" + prefix,None) if callable(setupmeth): for varnames in cls.permuteVars(prefix): cls.iterdata = cls._METHOD_DATA[(prefix,tuple(varnames))] args = cls.getMethodArgs(prefix,varnames) try: setupmeth(*args) except Exception as e: cls.iterdata['_iterativetest_setup_class_failed'] = (e,sys.exc_info()[2]) del cls.iterdata
def test_attrs(self): d = DictUtils.attrdict() d["VaLuE"] = 5 assert d["VaLuE"] == 5 assert d.VaLuE == 5