def check_is_reasonable(self):
        fars = pd.Series(self.fars)
        assert len(fars[fars > 20]) == 0
        assert len(fars[fars <= 0]) == 0
        for k, v in self.forms.iteritems():
            assert isinstance(v, dict)
            for k2, v2 in self.forms[k].iteritems():
                assert isinstance(k2, str)
                assert isinstance(v2, float)
            for k2, v2 in self.forms[k].iteritems():
                assert isinstance(k2, str)
                assert isinstance(v2, float)
        for k, v in self.parking_rates.iteritems():
            assert isinstance(k, str)
            assert k in self.uses
            assert 0 <= v < 5
        for k, v in self.parking_sqft_d.iteritems():
            assert isinstance(k, str)
            assert self.parking_configs in k
            assert 50 <= v <= 1000
        for k, v in self.parking_sqft_d.iteritems():
            assert isinstance(k, str)
            assert k in self.parking_cost_d
            assert 10 <= v <= 300
        for v in self.heights_for_costs:
            assert isinstance(v, int) or isinstance(v, float)
            if np.isinf(v):
                continue
            assert 0 <= v <= 1000
        for k, v in self.costs.iteritems():
            assert isinstance(k, str)
            assert k in self.uses
            for i in v:
                assert 10 < i < 1000
dataset/ETHPy150Open UDST/urbansim/urbansim/developer/sqftproforma.py/SqFtProFormaConfig.check_is_reasonable/swapped operands of `in`