"""Test Home Assistant location util methods."""
# pylint: disable=too-many-public-methods
import unittest

import homeassistant.util.location as location_util

# Paris
COORDINATES_PARIS = (48.864716, 2.349014)
# New York
COORDINATES_NEW_YORK = (40.730610, -73.935242)

# Results for the assertion (vincenty algorithm):
#      Distance [km]   Distance [miles]
# [0]  5846.39         3632.78
# [1]  5851            3635
#
# [0]: http://boulter.com/gps/distance/
# [1]: https://www.wolframalpha.com/input/?i=from+paris+to+new+york
DISTANCE_KM = 5846.39
DISTANCE_MILES = 3632.78


class TestLocationUtil(unittest.TestCase):
    """Test util location methods."""

    def test_get_distance(self):
        """Test getting the distance."""
        meters = location_util.distance(COORDINATES_PARIS[0],
                                        COORDINATES_PARIS[1],
                                        COORDINATES_NEW_YORK[0],
                                        COORDINATES_NEW_YORK[1])
        self.assertAlmostEqual(meters / 1000, DISTANCE_KM, places=2)

    def test_get_kilometers(self):
        """Test getting the distance between given coordinates in km."""
        kilometers = location_util.vincenty(COORDINATES_PARIS,
                                            COORDINATES_NEW_YORK)
        self.assertEqual(round(kilometers, 2), DISTANCE_KM)

    def test_get_miles(self):
        """Test getting the distance between given coordinates in miles."""
        miles = location_util.vincenty(COORDINATES_PARIS,
                                       COORDINATES_NEW_YORK,
                                       miles=True)
        self.assertEqual(round(miles, 2), DISTANCE_MILES)

54e2c10976b98ce4aae482ee8134ead3bb5a9ea4
<mask token>


class TestLocationUtil(unittest.TestCase):
    <mask token>

    def test_get_distance(self):
        """Test getting the distance."""
        meters = location_util.distance(COORDINATES_PARIS[0],
            COORDINATES_PARIS[1], COORDINATES_NEW_YORK[0],
            COORDINATES_NEW_YORK[1])
        self.assertAlmostEqual(meters / 1000, DISTANCE_KM, places=2)

    def test_get_kilometers(self):
        """Test getting the distance between given coordinates in km."""
        kilometers = location_util.vincenty(COORDINATES_PARIS,
            COORDINATES_NEW_YORK)
        self.assertEqual(round(kilometers, 2), DISTANCE_KM)

    def test_get_miles(self):
        """Test getting the distance between given coordinates in miles."""
        miles = location_util.vincenty(COORDINATES_PARIS,
            COORDINATES_NEW_YORK, miles=True)
        self.assertEqual(round(miles, 2), DISTANCE_MILES)

<mask token>


class TestLocationUtil(unittest.TestCase):
    """Test util location methods."""

    def test_get_distance(self):
        """Test getting the distance."""
        meters = location_util.distance(COORDINATES_PARIS[0],
            COORDINATES_PARIS[1], COORDINATES_NEW_YORK[0],
            COORDINATES_NEW_YORK[1])
        self.assertAlmostEqual(meters / 1000, DISTANCE_KM, places=2)

    def test_get_kilometers(self):
        """Test getting the distance between given coordinates in km."""
        kilometers = location_util.vincenty(COORDINATES_PARIS,
            COORDINATES_NEW_YORK)
        self.assertEqual(round(kilometers, 2), DISTANCE_KM)

    def test_get_miles(self):
        """Test getting the distance between given coordinates in miles."""
        miles = location_util.vincenty(COORDINATES_PARIS,
            COORDINATES_NEW_YORK, miles=True)
        self.assertEqual(round(miles, 2), DISTANCE_MILES)

<mask token>
COORDINATES_PARIS = 48.864716, 2.349014
COORDINATES_NEW_YORK = 40.73061, -73.935242
DISTANCE_KM = 5846.39
DISTANCE_MILES = 3632.78


class TestLocationUtil(unittest.TestCase):
    """Test util location methods."""

    def test_get_distance(self):
        """Test getting the distance."""
        meters = location_util.distance(COORDINATES_PARIS[0],
            COORDINATES_PARIS[1], COORDINATES_NEW_YORK[0],
            COORDINATES_NEW_YORK[1])
        self.assertAlmostEqual(meters / 1000, DISTANCE_KM, places=2)

    def test_get_kilometers(self):
        """Test getting the distance between given coordinates in km."""
        kilometers = location_util.vincenty(COORDINATES_PARIS,
            COORDINATES_NEW_YORK)
        self.assertEqual(round(kilometers, 2), DISTANCE_KM)

    def test_get_miles(self):
        """Test getting the distance between given coordinates in miles."""
        miles = location_util.vincenty(COORDINATES_PARIS,
            COORDINATES_NEW_YORK, miles=True)
        self.assertEqual(round(miles, 2), DISTANCE_MILES)

<mask token>
import unittest
import homeassistant.util.location as location_util
COORDINATES_PARIS = 48.864716, 2.349014
COORDINATES_NEW_YORK = 40.73061, -73.935242
DISTANCE_KM = 5846.39
DISTANCE_MILES = 3632.78


class TestLocationUtil(unittest.TestCase):
    """Test util location methods."""

    def test_get_distance(self):
        """Test getting the distance."""
        meters = location_util.distance(COORDINATES_PARIS[0],
            COORDINATES_PARIS[1], COORDINATES_NEW_YORK[0],
            COORDINATES_NEW_YORK[1])
        self.assertAlmostEqual(meters / 1000, DISTANCE_KM, places=2)

    def test_get_kilometers(self):
        """Test getting the distance between given coordinates in km."""
        kilometers = location_util.vincenty(COORDINATES_PARIS,
            COORDINATES_NEW_YORK)
        self.assertEqual(round(kilometers, 2), DISTANCE_KM)

    def test_get_miles(self):
        """Test getting the distance between given coordinates in miles."""
        miles = location_util.vincenty(COORDINATES_PARIS,
            COORDINATES_NEW_YORK, miles=True)
        self.assertEqual(round(miles, 2), DISTANCE_MILES)

"""Test Home Assistant location util methods."""
# pylint: disable=too-many-public-methods
import unittest

import homeassistant.util.location as location_util

# Paris
COORDINATES_PARIS = (48.864716, 2.349014)
# New York
COORDINATES_NEW_YORK = (40.730610, -73.935242)

# Results for the assertion (vincenty algorithm):
#      Distance [km]   Distance [miles]
# [0]  5846.39         3632.78
# [1]  5851            3635
#
# [0]: http://boulter.com/gps/distance/
# [1]: https://www.wolframalpha.com/input/?i=from+paris+to+new+york
DISTANCE_KM = 5846.39
DISTANCE_MILES = 3632.78


class TestLocationUtil(unittest.TestCase):
    """Test util location methods."""

    def test_get_distance(self):
        """Test getting the distance."""
        meters = location_util.distance(COORDINATES_PARIS[0],
                                        COORDINATES_PARIS[1],
                                        COORDINATES_NEW_YORK[0],
                                        COORDINATES_NEW_YORK[1])
        self.assertAlmostEqual(meters / 1000, DISTANCE_KM, places=2)

    def test_get_kilometers(self):
        """Test getting the distance between given coordinates in km."""
        kilometers = location_util.vincenty(COORDINATES_PARIS,
                                            COORDINATES_NEW_YORK)
        self.assertEqual(round(kilometers, 2), DISTANCE_KM)

    def test_get_miles(self):
        """Test getting the distance between given coordinates in miles."""
        miles = location_util.vincenty(COORDINATES_PARIS,
                                       COORDINATES_NEW_YORK,
                                       miles=True)
        self.assertEqual(round(miles, 2), DISTANCE_MILES)
