Пример #1
0
    def setUp(self):
        # Example url for
        # CEAT, 1630 dbh, NoEastXXX
        # eco.json?otmcode=CEAT&diameter=1630&region=NoEastXXX
        def mockbenefits(*args, **kwargs):
            benefits = {
                "Benefits": {
                    "aq_nox_avoided": 0.6792,
                    "aq_nox_dep": 0.371,
                    "aq_ozone_dep": 0.775,
                    "aq_pm10_avoided": 0.0436,
                    "aq_pm10_dep": 0.491,
                    "aq_sox_avoided": 0.372,
                    "aq_sox_dep": 0.21,
                    "aq_voc_avoided": 0.0254,
                    "bvoc": -0.077,
                    "co2_avoided": 255.5,
                    "co2_sequestered": 0,
                    "co2_storage": 6575,
                    "electricity": 187,
                    "hydro_interception": 12.06,
                    "natural_gas": 5834.1
                }
            }
            return (benefits, None)

        region = ITreeRegion.objects.get(code='NoEastXXX')
        p = region.geometry.point_on_surface

        converter = BenefitCurrencyConversion(currency_symbol='$',
                                              electricity_kwh_to_currency=1.0,
                                              natural_gas_kbtu_to_currency=1.0,
                                              co2_lb_to_currency=1.0,
                                              o3_lb_to_currency=1.0,
                                              nox_lb_to_currency=1.0,
                                              pm10_lb_to_currency=1.0,
                                              sox_lb_to_currency=1.0,
                                              voc_lb_to_currency=1.0,
                                              h20_gal_to_currency=1.0)
        converter.save()

        self.instance = make_instance(is_public=True, point=p)
        self.instance.eco_benefits_conversion = converter
        self.instance.save()
        self.user = make_commander_user(self.instance)

        self.species = Species(otm_code='CEAT',
                               genus='cedrus',
                               species='atlantica',
                               max_diameter=2000,
                               max_height=100,
                               instance=self.instance)

        self.species.save_with_user(self.user)

        self.origBenefitFn = ecobackend.json_benefits_call
        ecobackend.json_benefits_call = mockbenefits