def test_valuecount_exception(self): with self.assertRaises(RasterAggregationException): aggregator( layer_dict={'a': self.rasterlayer.id}, formula='a', grouping='unknown' )
def test_layer_discrete_grouping(self): result = aggregator( layer_dict={'a': self.rasterlayer.id}, formula='a', grouping='discrete' ) self.assertDictEqual( result, {str(k): v for k, v in self.expected_totals.items()} )
def test_layer_continuous_grouping(self): result = aggregator( layer_dict={'a': self.rasterlayer.id}, formula='a', grouping='continuous' ) self.assertDictEqual( result, self.continuous_expected_histogram )
def test_layer_with_legend_grouping(self): # Use a legend with simple int expression result = aggregator( layer_dict={'a': self.rasterlayer.id}, formula='a', grouping=self.legend.id ) self.assertDictEqual( result, {'2': self.expected_totals[2]} ) # Use a legend with formula expression result = aggregator( layer_dict={'a': self.rasterlayer.id}, formula='a', grouping=self.legend_with_expression.id ) self.assertDictEqual( result, {'(x >= 2) & (x < 5)': self.expected_totals[2] + self.expected_totals[3] + self.expected_totals[4]} )
def test_layer_with_no_tiles(self): result = aggregator( layer_dict={'a': self.rasterlayer.id, 'b': self.empty_rasterlayer.id}, formula='a*b' ) self.assertDictEqual(result, {})