def test_best(self): us1 = Region(region_code='US', region_name='us', accuracy=200000.0, score=3.0, source=DataSource.geoip) us2 = Region(region_code='US', region_name='us', accuracy=200000.0, score=3.0, source=DataSource.geoip) gb1 = Region(region_code='GB', region_name='gb', accuracy=100000.0, score=5.0, source=DataSource.geoip) gb2 = Region(region_code='GB', region_name='gb', accuracy=100000.0, score=3.0, source=DataSource.geoip) # highest combined score wins assert RegionResultList([us1, gb1]).best().region_code == 'GB' assert RegionResultList([us1, gb1, us2]).best().region_code == 'US' # break tie by accuracy assert RegionResultList([us1, gb2]).best().region_code == 'US'
def test_data_accuracy(self): assert Region().data_accuracy is DataAccuracy.none region = Region(region_code='DE', region_name='Germany', accuracy=100000.0) assert region.data_accuracy is DataAccuracy.low region = Region(region_code='VA', region_name='Holy See', accuracy=1000.0) assert region.data_accuracy is DataAccuracy.medium
def test_data_accuracy(self): self.assertEqual(Region().data_accuracy, DataAccuracy.none) region = Region(region_code='DE', region_name='Germany', accuracy=100000.0) self.assertEqual(region.data_accuracy, DataAccuracy.low) region = Region(region_code='VA', region_name='Holy See', accuracy=1000.0) self.assertEqual(region.data_accuracy, DataAccuracy.high)
def test_empty(self): region = Region(region_code='DE', region_name='Germany', accuracy=None) self.assertTrue(region.empty()) region = Region(region_code='DE', region_name=None, accuracy=100000.0) self.assertTrue(region.empty()) region = Region(region_code=None, region_name='Germany', accuracy=100000.0) self.assertTrue(region.empty())
def test_repr(self): region = Region(region_code='DE', region_name='Germany', score=2.0) rep = repr(region) self.assertTrue(rep.startswith('Region'), rep) self.assertTrue('DE' in rep, rep) self.assertTrue('Germany' in rep, rep) self.assertAlmostEqual(region.score, 2.0)
def test_repr(self): region = Region( region_code="DE", region_name="Germany", accuracy=100.0, score=2.0 ) rep = repr(region) assert rep.startswith("Region") assert "DE" in rep assert "Germany" in rep assert region.score == 2.0
def test_repr(self): region = Region(region_code='DE', region_name='Germany', accuracy=100.0, score=2.0) rep = repr(region) assert rep.startswith('Region') assert 'DE' in rep assert 'Germany' in rep assert region.score == 2.0
def test_empty(self): region = Region(region_code="DE", region_name="Germany", accuracy=None) self.assertTrue(region.empty()) region = Region(region_code="DE", region_name=None, accuracy=100000.0) self.assertTrue(region.empty()) region = Region(region_code=None, region_name="Germany", accuracy=100000.0) self.assertTrue(region.empty())
def test_best(self): us1 = Region( region_code="US", region_name="us", accuracy=200000.0, score=3.0, source=DataSource.geoip, ) us2 = Region( region_code="US", region_name="us", accuracy=200000.0, score=3.0, source=DataSource.geoip, ) gb1 = Region( region_code="GB", region_name="gb", accuracy=100000.0, score=5.0, source=DataSource.geoip, ) gb2 = Region( region_code="GB", region_name="gb", accuracy=100000.0, score=3.0, source=DataSource.geoip, ) # highest combined score wins assert RegionResultList([us1, gb1]).best().region_code == "GB" assert RegionResultList([us1, gb1, us2]).best().region_code == "US" # break tie by accuracy assert RegionResultList([us1, gb2]).best().region_code == "US"
def test_data_accuracy(self): assert Region().data_accuracy is DataAccuracy.none region = Region(region_code="DE", region_name="Germany", accuracy=100000.0) assert region.data_accuracy is DataAccuracy.low region = Region(region_code="VA", region_name="Holy See", accuracy=1000.0) assert region.data_accuracy is DataAccuracy.medium
def _make_region_result(self, accuracy=100000.0): return Region( region_code='GB', region_name='United Kingdom', accuracy=accuracy, score=0.5)
def test_satisfies(self): regions = RegionResultList( Region(region_code='DE', region_name='Germany', accuracy=100000.0)) assert regions.satisfies(Query())
def test_satisfies_fail(self): region = Region() self.assertFalse(region.satisfies(Query()))
def test_not_empty(self): region = Region(region_code='DE', region_name='Germany', accuracy=100000.0) self.assertFalse(region.empty())
def test_not_empty(self): region = Region( region_code='DE', region_name='Germany', accuracy=100000.0) self.assertFalse(region.empty())
def test_satisfies(self): region = Region( region_code='DE', region_name='Germany', accuracy=100000.0) self.assertTrue(region.satisfies(Query()))
def test_satisfies(self): region = Region(region_code='DE', region_name='Germany', accuracy=100000.0) self.assertTrue(region.satisfies(Query()))