Beispiel #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'
Beispiel #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
Beispiel #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)
Beispiel #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())
Beispiel #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)
Beispiel #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
Beispiel #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
Beispiel #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())
Beispiel #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"
Beispiel #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
Beispiel #11
0
 def _make_region_result(self, accuracy=100000.0):
     return Region(
         region_code='GB',
         region_name='United Kingdom',
         accuracy=accuracy,
         score=0.5)
Beispiel #12
0
 def test_satisfies(self):
     regions = RegionResultList(
         Region(region_code='DE', region_name='Germany', accuracy=100000.0))
     assert regions.satisfies(Query())
Beispiel #13
0
 def test_satisfies_fail(self):
     region = Region()
     self.assertFalse(region.satisfies(Query()))
Beispiel #14
0
 def test_not_empty(self):
     region = Region(region_code='DE',
                     region_name='Germany',
                     accuracy=100000.0)
     self.assertFalse(region.empty())
Beispiel #15
0
 def test_not_empty(self):
     region = Region(
         region_code='DE', region_name='Germany', accuracy=100000.0)
     self.assertFalse(region.empty())
Beispiel #16
0
 def test_satisfies_fail(self):
     region = Region()
     self.assertFalse(region.satisfies(Query()))
Beispiel #17
0
 def test_satisfies(self):
     region = Region(
         region_code='DE', region_name='Germany', accuracy=100000.0)
     self.assertTrue(region.satisfies(Query()))
Beispiel #18
0
 def test_satisfies(self):
     region = Region(region_code='DE',
                     region_name='Germany',
                     accuracy=100000.0)
     self.assertTrue(region.satisfies(Query()))