Beispiel #1
0
 def test_parse_format_error_wrong_format(self, cosmo):
     """
     Test ``_parse_format`` errors when given a Cosmology object and format
     is not compatible.
     """
     with pytest.raises(ValueError, match=re.escape("for parsing a Cosmology, 'format'")):
         _parse_format(cosmo, "mapping")
Beispiel #2
0
    def test_parse_format_error_noncosmology_cant_convert(self):
        """
        Test ``_parse_format`` errors when given a non-Cosmology object
        and format is `False`.
        """
        notacosmo = object()

        with pytest.raises(TypeError, match=re.escape("if 'format' is False")):
            _parse_format(notacosmo, False)
Beispiel #3
0
    def test_parse_format_vectorized(self, cosmo, format, converted):
        # vectorized on cosmos
        out = _parse_format([cosmo, cosmo], None)
        assert len(out) == 2
        assert np.all(out == cosmo)

        # vectorized on formats
        out = _parse_format(cosmo, [None, None])
        assert len(out) == 2
        assert np.all(out == cosmo)

        # more complex broadcast
        out = _parse_format([[cosmo, converted], [converted, cosmo]],
                             [[None, format], [format, None]])
        assert out.shape == (2, 2)
        assert np.all(out == cosmo)
Beispiel #4
0
 def test_shortcut(self, cosmo):
     """Test the already-a-cosmology shortcut."""
     # A Cosmology
     for fmt in {None, True, False, "astropy.cosmology"}:
         assert _parse_format(cosmo, fmt) is cosmo, f"{fmt} failed"
Beispiel #5
0
    def test_convert(self, converted, format, cosmo):
        """Test converting a cosmology-like object"""
        out = _parse_format(converted, format)

        assert isinstance(out, Cosmology)
        assert out == cosmo