def test_incorrect_spacing(self):
     fl = AngleFormatterLocator()
     fl.spacing = 0.032 * u.deg
     with pytest.warns(UserWarning,
                       match=r'Spacing is not a multiple of base spacing'):
         fl.format = 'dd:mm:ss'
     assert_almost_equal(fl.spacing.to_value(u.arcsec), 115.)
    def test_spacing(self):

        with pytest.raises(TypeError) as exc:
            AngleFormatterLocator(spacing=3.)
        assert exc.value.args[0] == "spacing should be an astropy.units.Quantity instance with units of angle"

        fl = AngleFormatterLocator(spacing=3. * u.degree)
        assert fl.values is None
        assert fl.number is None
        assert fl.spacing == 3. * u.degree

        values, spacing = fl.locator(34.3, 55.4)
        assert_almost_equal(values.to_value(u.degree), [36., 39., 42., 45., 48., 51., 54.])

        fl.spacing = 30. * u.arcmin
        values, spacing = fl.locator(34.3, 36.1)
        assert_almost_equal(values.to_value(u.degree), [34.5, 35., 35.5, 36.])

        with pytest.warns(UserWarning, match='Spacing is too small'):
            fl.format = 'dd'
        values, spacing = fl.locator(34.3, 36.1)
        assert_almost_equal(values.to_value(u.degree), [35., 36.])
 def test_incorrect_spacing(self):
     fl = AngleFormatterLocator()
     fl.spacing = 0.032 * u.deg
     with pytest.warns(UserWarning, match='Spacing is not a multiple of base spacing'):
         fl.format = 'dd:mm:ss'
     assert_almost_equal(fl.spacing.to_value(u.arcsec), 115.)