Exemplo n.º 1
0
def test_wave_inputQuantity():
    wrong_type_mesage = "Wave inputs must be astropy Quantities"
    with pytest.raises(TypeError) as excinfo:
        va.Wave(10, 23)
    assert excinfo.value.message == wrong_type_mesage
    with pytest.raises(TypeError) as excinfo:
        va.Wave(10 * u.AA, 23)
    assert excinfo.value.message == wrong_type_mesage
Exemplo n.º 2
0
def test_wave_xor():
    one = va.Wave(0 * u.AA, 1000 * u.AA)
    a = one ^ va.Wave(200 * u.AA, 400 * u.AA)
    
    assert a == attr.AttrOr([va.Wave(0 * u.AA, 200 * u.AA), va.Wave(400 * u.AA, 1000 * u.AA)])
    
    a ^= va.Wave(600 * u.AA, 800 * u.AA)
    
    assert a == attr.AttrOr(
        [va.Wave(0 * u.AA, 200 * u.AA), va.Wave(400 * u.AA, 600 * u.AA), va.Wave(800 * u.AA, 1000 * u.AA)])
Exemplo n.º 3
0
def test_wave_toangstrom():
    # TODO: this test shoul test that inputs are in any of spectral units
    # more than just converted to Angstoms.
    frequency = [(1, 1 * u.Hz), (1e3, 1 * u.kHz), (1e6, 1 * u.MHz),
                 (1e9, 1 * u.GHz)]

    energy = [(1, 1 * u.eV), (1e3, 1 * u.keV), (1e6, 1 * u.MeV)]

    for factor, unit in energy:
        w = va.Wave((62 / factor) * unit, (62 / factor) * unit)
        assert int(w.min.to(u.AA, u.equivalencies.spectral()).value) == 199

    w = va.Wave(62 * u.eV, 62 * u.eV)
    assert int(w.min.to(u.AA, u.equivalencies.spectral()).value) == 199
    w = va.Wave(62e-3 * u.keV, 62e-3 * u.keV)
    assert int(w.min.to(u.AA, u.equivalencies.spectral()).value) == 199

    for factor, unit in frequency:
        w = va.Wave((1.506e16 / factor) * unit, (1.506e16 / factor) * unit)
        assert int(w.min.to(u.AA, u.equivalencies.spectral()).value) == 199

    w = va.Wave(1.506e16 * u.Hz, 1.506e16 * u.Hz)
    assert int(w.min.to(u.AA, u.equivalencies.spectral()).value) == 199
    w = va.Wave(1.506e7 * u.GHz, 1.506e7 * u.GHz)
    assert int(w.min.to(u.AA, u.equivalencies.spectral()).value) == 199

    with pytest.raises(ValueError) as excinfo:
        va.Wave(10 * u.g, 23 * u.g)
    assert excinfo.value.message == "'g' is not a spectral supported unit"
Exemplo n.º 4
0
def test_wave_xor():
    one = va.Wave(0, 1000)
    a = one ^ va.Wave(200, 400)

    assert a == attr.AttrOr([va.Wave(0, 200), va.Wave(400, 1000)])

    a ^= va.Wave(600, 800)

    assert a == attr.AttrOr(
        [va.Wave(0, 200),
         va.Wave(400, 600),
         va.Wave(800, 1000)])
Exemplo n.º 5
0
def test_wave_toangstrom():
    for name, factor in energy:
        w = va.Wave(62 / factor, 62 / factor, name)
        assert int(w.min) == 199

    w = va.Wave(62, 62, 'eV')
    assert int(w.min) == 199
    w = va.Wave(62e-3, 62e-3, 'keV')
    assert int(w.min) == 199

    for name, factor in frequency:
        w = va.Wave(1.506e16 / factor, 1.506e16 / factor, name)
        assert int(w.min) == 199

    w = va.Wave(1.506e16, 1.506e16, 'Hz')
    assert int(w.min) == 199
    w = va.Wave(1.506e7, 1.506e7, 'GHz')
    assert int(w.min) == 199
Exemplo n.º 6
0
def test_wave_toangstrom():
    frequency = [('Hz', 1), ('kHz', 1e3), ('MHz', 1e6), ('GHz', 1e9)]

    energy = [('eV', 1), ('keV', 1e3), ('MeV', 1e6)]

    for name, factor in energy:
        w = va.Wave(62 / factor, 62 / factor, name)
        assert int(w.min) == 199

    w = va.Wave(62, 62, 'eV')
    assert int(w.min) == 199
    w = va.Wave(62e-3, 62e-3, 'keV')
    assert int(w.min) == 199

    for name, factor in frequency:
        w = va.Wave(1.506e16 / factor, 1.506e16 / factor, name)
        assert int(w.min) == 199

    w = va.Wave(1.506e16, 1.506e16, 'Hz')
    assert int(w.min) == 199
    w = va.Wave(1.506e7, 1.506e7, 'GHz')
    assert int(w.min) == 199