Ejemplo n.º 1
0
    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'
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
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())
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
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
Ejemplo n.º 7
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
Ejemplo n.º 8
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())
Ejemplo n.º 9
0
    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"
Ejemplo n.º 10
0
 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
Ejemplo n.º 11
0
 def _make_region_result(self, accuracy=100000.0):
     return Region(
         region_code='GB',
         region_name='United Kingdom',
         accuracy=accuracy,
         score=0.5)
Ejemplo n.º 12
0
 def test_satisfies(self):
     regions = RegionResultList(
         Region(region_code='DE', region_name='Germany', accuracy=100000.0))
     assert regions.satisfies(Query())
Ejemplo n.º 13
0
 def test_satisfies_fail(self):
     region = Region()
     self.assertFalse(region.satisfies(Query()))
Ejemplo n.º 14
0
 def test_not_empty(self):
     region = Region(region_code='DE',
                     region_name='Germany',
                     accuracy=100000.0)
     self.assertFalse(region.empty())
Ejemplo n.º 15
0
 def test_not_empty(self):
     region = Region(
         region_code='DE', region_name='Germany', accuracy=100000.0)
     self.assertFalse(region.empty())
Ejemplo n.º 16
0
 def test_satisfies_fail(self):
     region = Region()
     self.assertFalse(region.satisfies(Query()))
Ejemplo n.º 17
0
 def test_satisfies(self):
     region = Region(
         region_code='DE', region_name='Germany', accuracy=100000.0)
     self.assertTrue(region.satisfies(Query()))
Ejemplo n.º 18
0
 def test_satisfies(self):
     region = Region(region_code='DE',
                     region_name='Germany',
                     accuracy=100000.0)
     self.assertTrue(region.satisfies(Query()))