def __init__(self, results: AttrDict) -> None: super(SystemEquationResult, self).__init__(results) self._eq_label = results.eq_label self._dependent = results.dependent self._f_statistic = results.f_stat self._r2a = results.r2a self._instruments = results.instruments self._endog = results.endog self._weight_estimator = results.get("weight_estimator", None)
def __init__(self, results: AttrDict) -> None: super(SystemResults, self).__init__(results) self._individual = AttrDict() for key in results.individual: self._individual[key] = SystemEquationResult( results.individual[key]) self._system_r2 = results.system_r2 self._sigma = results.sigma self._model = results.model self._constraints = results.constraints self._num_constraints = "None" if results.constraints is not None: self._num_constraints = str(results.constraints.r.shape[0]) self._weight_estimtor = results.get("weight_estimator", None)
def test_attr_dict(): ad = AttrDict() ad['one'] = 'one' ad[1] = 1 ad[('a', 2)] = ('a', 2) assert list(ad.keys()) == ['one', 1, ('a', 2)] assert len(ad) == 3 ad2 = ad.copy() assert list(ad2.keys()) == list(ad.keys()) assert ad.get('one', None) == 'one' assert ad.get('two', False) is False k, v = ad.popitem() assert k == 'one' assert v == 'one' items = ad.items() assert (1, 1) in items assert (('a', 2), ('a', 2)) in items assert len(items) == 2 values = ad.values() assert 1 in values assert ('a', 2) in values assert len(values) == 2 ad2 = AttrDict() ad2[1] = 3 ad2['one'] = 'one' ad2['a'] = 'a' ad.update(ad2) assert ad[1] == 3 assert 'a' in ad ad.__str__() with pytest.raises(AttributeError): ad.__ordered_dict__ = None with pytest.raises(AttributeError): ad.some_other_key with pytest.raises(KeyError): ad['__ordered_dict__'] = None del ad[1] assert 1 not in ad.keys() ad.new_value = 'new_value' assert 'new_value' in ad.keys() assert ad.new_value == ad['new_value'] for key in ad.keys(): if isinstance(key, str): assert key in dir(ad) new_value = ad.pop('new_value') assert new_value == 'new_value' del ad.one assert 'one' not in ad.keys() ad.clear() assert list(ad.keys()) == []
def test_attr_dict(): ad = AttrDict() ad["one"] = "one" ad[1] = 1 ad[("a", 2)] = ("a", 2) assert list(ad.keys()) == ["one", 1, ("a", 2)] assert len(ad) == 3 ad2 = ad.copy() assert list(ad2.keys()) == list(ad.keys()) assert ad.get("one", None) == "one" assert ad.get("two", False) is False k, v = ad.popitem() assert k == "one" assert v == "one" items = ad.items() assert (1, 1) in items assert (("a", 2), ("a", 2)) in items assert len(items) == 2 values = ad.values() assert 1 in values assert ("a", 2) in values assert len(values) == 2 ad2 = AttrDict() ad2[1] = 3 ad2["one"] = "one" ad2["a"] = "a" ad.update(ad2) assert ad[1] == 3 assert "a" in ad ad.__str__() with pytest.raises(AttributeError): ad.__private_dict__ = None with pytest.raises(AttributeError): ad.some_other_key with pytest.raises(KeyError): ad["__private_dict__"] = None del ad[1] assert 1 not in ad.keys() ad.new_value = "new_value" assert "new_value" in ad.keys() assert ad.new_value == ad["new_value"] for key in ad.keys(): if isinstance(key, str): assert key in dir(ad) new_value = ad.pop("new_value") assert new_value == "new_value" del ad.one assert "one" not in ad.keys() ad.clear() assert list(ad.keys()) == []