Ejemplo n.º 1
0
    def test_disambiguate__guess(self):
        from ebpub.geocoder.base import disambiguate

        # 'guess' doesn't do anything unless we have something to filter on.
        self.assertEqual(disambiguate([], zipcode="10014", guess=True), [])
        self.assertEqual(disambiguate([{1: 1}], zipcode="10014", guess=True), [{1: 1}])
        self.assertEqual(disambiguate([{1: 1}, {2: 2}, {3: 3}], zipcode="10014", guess=True), [{1: 1}])
Ejemplo n.º 2
0
    def test_disambiguate__zip(self):
        from ebpub.geocoder.base import disambiguate

        input_results = [
            {"name": "bob", "zip": "12345"},
            {"name": "bob", "zip": "67890"},
            {"name": "bob", "zip": "55555"},
            {"name": "joe", "zip": "55555"},
        ]
        self.assertEqual(disambiguate(input_results, zipcode="Some Other Zipcode"), input_results)
        self.assertEqual(disambiguate(input_results, zipcode="67890"), [{"name": "bob", "zip": "67890"}])
Ejemplo n.º 3
0
 def test_disambiguate__state(self):
     from ebpub.geocoder.base import disambiguate
     input_results = [{'name': 'bob', 'state': 'MA'},
                      {'name': 'bob', 'state': 'TN'},
                      {'name': 'bob', 'state': 'WA'},
                      {'name': 'joe', 'state': 'WA'},
                      ]
     self.assertEqual(disambiguate(input_results, state='Some Other State'),
                      input_results)
     self.assertEqual(disambiguate(input_results, state='WA'),
                      [{'name': 'bob', 'state': 'WA'},
                       {'name': 'joe', 'state': 'WA'},
                       ])
Ejemplo n.º 4
0
    def test_disambiguate__state(self):
        from ebpub.geocoder.base import disambiguate

        input_results = [
            {"name": "bob", "state": "MA"},
            {"name": "bob", "state": "TN"},
            {"name": "bob", "state": "WA"},
            {"name": "joe", "state": "WA"},
        ]
        self.assertEqual(disambiguate(input_results, state="Some Other State"), input_results)
        self.assertEqual(
            disambiguate(input_results, state="WA"), [{"name": "bob", "state": "WA"}, {"name": "joe", "state": "WA"}]
        )
Ejemplo n.º 5
0
 def test_disambiguate__zip(self):
     from ebpub.geocoder.base import disambiguate
     input_results = [{'name': 'bob', 'zip': '12345'},
                      {'name': 'bob', 'zip': '67890'},
                      {'name': 'bob', 'zip': '55555'},
                      {'name': 'joe', 'zip': '55555'},
                      ]
     self.assertEqual(disambiguate(input_results, zipcode='Some Other Zipcode'),
                      input_results)
     self.assertEqual(disambiguate(input_results, zipcode='67890'),
                      [{'name': 'bob', 'zip': '67890'},])
     # You can spell it either 'zipcode' or 'zip'.
     self.assertEqual(disambiguate(input_results, zip='67890'),
                      [{'name': 'bob', 'zip': '67890'},])
Ejemplo n.º 6
0
    def test_disambiguate__city(self):
        from ebpub.geocoder.base import disambiguate

        input_results = [
            {"name": "bob", "city": "Brooklyn"},
            {"name": "bob", "city": "Manchester"},
            {"name": "bob", "city": "Oslo"},
            {"name": "joe", "city": "Oslo"},
        ]
        self.assertEqual(disambiguate(input_results, city="Some Other City"), input_results)
        self.assertEqual(disambiguate(input_results, city="Brooklyn"), [{"name": "bob", "city": "Brooklyn"}])
        self.assertEqual(
            disambiguate(input_results, city="Oslo"), [{"name": "bob", "city": "Oslo"}, {"name": "joe", "city": "Oslo"}]
        )
        self.assertEqual(disambiguate(input_results, city="Oslo", guess=True), [{"name": "bob", "city": "Oslo"}])
Ejemplo n.º 7
0
    def test_disambiguate__all(self):
        from ebpub.geocoder.base import disambiguate
        input_results = [
            {'name': 'bob', 'city': 'C1', 'state': 'S2', 'zip': 'Z1'},
            {'name': 'bob', 'city': 'C1', 'state': 'S1', 'zip': 'Z1'},
            {'name': 'bob', 'city': 'C1', 'state': 'S1', 'zip': 'Z2'},
            {'name': 'bob', 'city': 'C2', 'state': 'S1', 'zip': 'Z1'},
            {'name': 'bob', 'city': 'C2', 'state': 'S1', 'zip': 'Z1', 'suffix': 'SF1'},
            ]
        self.assertEqual(disambiguate(input_results, city='C1', state='S1', zipcode='Z1'),
                         [{'name': 'bob', 'city': 'C1', 'state': 'S1', 'zip': 'Z1'}])

        # We could pass other args, eg. 'suffix', although
        # in practice this would require those keys to be present in Address dicts.
        self.assertEqual(disambiguate(input_results, suffix='SF1'),
                         [{'name': 'bob', 'city': 'C2', 'state': 'S1', 'zip': 'Z1', 'suffix': 'SF1'}])
Ejemplo n.º 8
0
 def test_disambiguate__city(self):
     from ebpub.geocoder.base import disambiguate
     input_results = [{'name': 'bob', 'city': 'Brooklyn'},
                      {'name': 'bob', 'city': 'Manchester'},
                      {'name': 'bob', 'city': 'Oslo'},
                      {'name': 'joe', 'city': 'Oslo'},
                      ]
     self.assertEqual(disambiguate(input_results, city='Some Other City'),
                      input_results)
     self.assertEqual(disambiguate(input_results, city='Brooklyn'),
                      [{'name': 'bob', 'city': 'Brooklyn'}])
     self.assertEqual(disambiguate(input_results, city='Oslo'),
                      [{'name': 'bob', 'city': 'Oslo'},
                       {'name': 'joe', 'city': 'Oslo'}])
     self.assertEqual(disambiguate(input_results, city='Oslo', guess=True),
                      [{'name': 'bob', 'city': 'Oslo'}])
Ejemplo n.º 9
0
    def test_disambiguate__all(self):
        from ebpub.geocoder.base import disambiguate

        input_results = [
            {"name": "bob", "city": "C1", "state": "S2", "zip": "Z1"},
            {"name": "bob", "city": "C1", "state": "S1", "zip": "Z1"},
            {"name": "bob", "city": "C1", "state": "S1", "zip": "Z2"},
            {"name": "bob", "city": "C2", "state": "S1", "zip": "Z1"},
        ]
        self.assertEqual(
            disambiguate(input_results, city="C1", state="S1", zipcode="Z1"),
            [{"name": "bob", "city": "C1", "state": "S1", "zip": "Z1"}],
        )
Ejemplo n.º 10
0
 def test_disambiguate__no_args(self):
     from ebpub.geocoder.base import disambiguate
     self.assertEqual(disambiguate([]), [])
     self.assertEqual(disambiguate([]), [])