123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- # -*- coding: utf-8 -*-
- """
- Tests assertion methods for vectors.
- """
- import grass.gunittest as gunittest
- V_UNIVAR_BRIDGES_WIDTH_SUBSET = """n=10938
- nmissing=0
- nnull=0
- min=0
- max=1451
- range=1451
- sum=2.6299e+06
- mean=240.437
- """
- RANDOM_KEYVALUES = """abc=2025000
- aaa=55.5787925720215
- bbb=156.329864501953
- """
- # v.info bridges -t
- V_UNIVAR_BRIDGES_TOPO = dict(
- nodes=0,
- points=10938,
- lines=0,
- boundaries=0,
- centroids=0,
- areas=0,
- islands=0,
- primitives=10938,
- map3d=0,
- )
- # v.info bridges -g and rounded
- V_UNIVAR_BRIDGES_REGION = dict(
- north=317757,
- south=14691,
- east=915045,
- west=125794,
- top=0,
- bottom=0,
- )
- # v.info bridges -g and reduced to minumum
- V_UNIVAR_BRIDGES_EXTENDED = dict(
- name='bridges',
- level=2,
- num_dblinks=1,
- )
- class TestVectorMapAssertions(gunittest.TestCase):
- """Test assertions of map meta and statistics"""
- # pylint: disable=R0904
- def test_assertVectorFitsUnivar(self):
- self.assertVectorFitsUnivar(map='bridges', column='WIDTH',
- reference=V_UNIVAR_BRIDGES_WIDTH_SUBSET,
- precision=0.01)
- self.assertRaises(self.failureException,
- self.assertVectorFitsUnivar,
- map='bridges', column='YEAR_BUILT',
- reference=V_UNIVAR_BRIDGES_WIDTH_SUBSET,
- precision=0.01)
- self.assertRaises(ValueError,
- self.assertVectorFitsUnivar,
- map='bridges', column='WIDTH',
- reference=RANDOM_KEYVALUES)
- def test_assertVectorFitsTopoInfo(self):
- self.assertVectorFitsTopoInfo('bridges', V_UNIVAR_BRIDGES_TOPO)
- self.assertRaises(self.failureException,
- self.assertVectorFitsTopoInfo,
- 'lakes',
- V_UNIVAR_BRIDGES_TOPO)
- self.assertRaises(ValueError,
- self.assertVectorFitsTopoInfo,
- 'bridges', RANDOM_KEYVALUES)
- self.assertRaises(ValueError,
- self.assertVectorFitsTopoInfo,
- 'bridges', V_UNIVAR_BRIDGES_REGION)
- def test_assertVectorFitsRegionInfo(self):
- self.assertVectorFitsRegionInfo('bridges', V_UNIVAR_BRIDGES_REGION, precision=1.0)
- self.assertRaises(self.failureException,
- self.assertVectorFitsRegionInfo,
- 'lakes', V_UNIVAR_BRIDGES_REGION, precision=1.0)
- self.assertRaises(ValueError,
- self.assertVectorFitsRegionInfo,
- 'bridges', RANDOM_KEYVALUES, precision=1.0)
- self.assertRaises(ValueError,
- self.assertVectorFitsRegionInfo,
- 'bridges', V_UNIVAR_BRIDGES_TOPO, precision=1.0)
- def test_assertVectorFitsExtendedInfo(self):
- self.assertVectorFitsExtendedInfo('bridges', V_UNIVAR_BRIDGES_EXTENDED)
- self.assertRaises(self.failureException,
- self.assertVectorFitsExtendedInfo,
- 'lakes',
- V_UNIVAR_BRIDGES_EXTENDED)
- self.assertRaises(ValueError,
- self.assertVectorFitsExtendedInfo,
- 'bridges',
- RANDOM_KEYVALUES)
- self.assertRaises(ValueError,
- self.assertVectorFitsExtendedInfo,
- 'bridges',
- V_UNIVAR_BRIDGES_TOPO)
- if __name__ == '__main__':
- gunittest.test()
|