Exemple #1
0
 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

    plk = pickle.dumps(ad)
    pad = pickle.loads(plk)
    assert list(pad.keys()) == ["one", 1, ("a", 2)]
    assert len(pad) == 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()) == []