Skip to content

Commit 86ec55e

Browse files
committed
remove old asserts, finish updating tests
1 parent 0a93d83 commit 86ec55e

File tree

3 files changed

+51
-36
lines changed

3 files changed

+51
-36
lines changed

src/Spectra.jl

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,28 +252,23 @@ EchelleSpectrum(Float64, Float64)
252252
```
253253
"""
254254
function spectrum(wave::AbstractVector{<:Real}, flux::AbstractVector{<:Real}; kwds...)
255-
@assert size(wave) == size(flux) "wave and flux must have equal size"
256255
Spectrum(wave, flux, Dict{Symbol,Any}(kwds))
257256
end
258257

259258
function spectrum(wave::AbstractVector{<:Real}, flux::AbstractArray{<:Real, 3}; kwds...)
260-
@assert size(wave, 1) == size(flux, 1) "wave and flux in each order must have equal size"
261259
Spectrum(wave, flux, Dict{Symbol,Any}(kwds))
262260
end
263261

264262
function spectrum(wave::AbstractMatrix{<:Real}, flux::AbstractMatrix{<:Real}; kwds...)
265-
@assert size(wave) == size(flux) "wave and flux must have equal size"
266263
Spectrum(wave, flux, Dict{Symbol,Any}(kwds))
267264
end
268265

269266
function spectrum(wave::AbstractVector{<:Quantity}, flux::AbstractVector{<:Quantity}; kwds...)
270-
@assert size(wave) == size(flux) "wave and flux must have equal size"
271267
@assert dimension(eltype(wave)) == u"𝐋" "wave not recognized as having dimensions of wavelengths"
272268
Spectrum(wave, flux, Dict{Symbol,Any}(kwds))
273269
end
274270

275271
function spectrum(wave::AbstractMatrix{<:Quantity}, flux::AbstractMatrix{<:Quantity}; kwds...)
276-
@assert size(wave) == size(flux) "wave and flux must have equal size"
277272
@assert dimension(eltype(wave)) == u"𝐋" "wave not recognized as having dimensions of wavelengths"
278273
Spectrum(wave, flux, Dict{Symbol,Any}(kwds))
279274
end

src/spectrum_echelle.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
const EchelleSpectrum = Spectrum{W, F, 2, 2} where {W, F}
22

33
function Base.getindex(spec::EchelleSpectrum, i::Int)
4-
w = wave(spec)[i, :]
5-
f = flux(spec)[i, :]
4+
w = wave(spec)[:, i]
5+
f = flux(spec)[:, i]
66
m = merge(Dict(:Order => i), meta(spec))
77
return Spectrum(w, f, m)
88
end
99

1010
function Base.getindex(spec::EchelleSpectrum, I::AbstractVector)
11-
w = wave(spec)[I, :]
12-
f = flux(spec)[I, :]
11+
w = wave(spec)[:, I]
12+
f = flux(spec)[:, I]
1313
m = merge(Dict(:Orders => (first(I), last(I))), meta(spec))
1414
return Spectrum(w, f, m)
1515
end
@@ -21,7 +21,7 @@ function Base.show(io::IO, spec::EchelleSpectrum)
2121
w = wave(spec)
2222
f = flux(spec)
2323
println(io, "EchelleSpectrum($(eltype(wave(spec))), $(eltype(flux(spec))))")
24-
println(io, " # orders: $(size(spec, 1))")
24+
println(io, " # orders: $(size(spec, 2))")
2525
println(io, " wave $(size(w)): ", first(w), " .. ", last(w))
2626
println(io, " flux $(size(f)): ", first(f), " .. ", last(f))
2727
print(io, " meta: ", meta(spec))

test/spectrum.jl

Lines changed: 46 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
Random.seed!(8675309)
22

3+
@testset "Spectrum types" begin
4+
wave, flux = collect(1:5), 1:5
5+
@test spectrum(wave, flux) isa SingleSpectrum
6+
wave[3] = 10
7+
@test_throws ArgumentError spectrum(wave, flux)
8+
@test_throws ArgumentError spectrum(wave[begin:end-1], flux)
9+
10+
wave, flux = repeat(1:5, 1, 3), rand(5, 3)
11+
@test spectrum(wave, flux) isa EchelleSpectrum
12+
wave[3, 3] = 10
13+
@test_throws ArgumentError spectrum(wave, flux)
14+
@test_throws ArgumentError spectrum(wave[begin:end-1, :], flux)
15+
16+
wave, flux = collect(1:5), rand(5, 4, 3)
17+
@test spectrum(wave, flux) isa IFUSpectrum
18+
wave[3] = 10
19+
@test_throws ArgumentError spectrum(wave, flux)
20+
@test_throws ArgumentError spectrum(wave[begin:end-1], flux)
21+
end
22+
323
@testset "Spectrum - Single" begin
424
wave = range(1e4, 5e4, length = 1000)
525
sigma = randn(size(wave))
@@ -32,7 +52,7 @@ Random.seed!(8675309)
3252
@test Measurements.uncertainty.(spec.flux) sigma
3353

3454
flux_trimmed = flux[200:800]
35-
@test_throws AssertionError spectrum(wave, flux_trimmed)
55+
@test_throws ArgumentError spectrum(wave, flux_trimmed)
3656
expected = """
3757
SingleSpectrum(Float64, Measurements.Measurement{Float64})
3858
wave (1000,): 10000.0 .. 50000.0
@@ -43,17 +63,17 @@ Random.seed!(8675309)
4363
end
4464

4565
@testset "Spectrum - Echelle" begin
46-
n_orders = 3
4766
n_wavs = 1000
67+
n_orders = 3
4868
wave_1 = range(1e4, 5e4, length=n_wavs)
49-
wave = repeat(wave_1, 1, n_orders)'
69+
wave = repeat(wave_1, 1, n_orders)
5070
sigma = randn(size(wave_1))
5171
sigma[7] = 1
5272
sigma[134] = 0.1
5373
flux_1 = 100 sigma
5474
flux_1[7] = 1000 ± 1
5575
flux_1[134] = 1 ± 0.1
56-
flux = repeat(flux_1, 1, n_orders)'
76+
flux = repeat(flux_1, 1, n_orders)
5777

5878
spec = spectrum(wave, flux, name = "Test Echelle Spectrum")
5979

@@ -73,23 +93,23 @@ end
7393
@test Spectra.flux(spec) == spec.flux
7494
@test eltype(spec) == eltype(spec.flux)
7595
@test spec.wave == wave
76-
@test size(spec) == (n_orders, n_wavs)
77-
@test length(spec) == n_orders * n_wavs
96+
@test size(spec) == (n_wavs, n_orders)
97+
@test length(spec) == n_wavs * n_orders
7898
@test maximum(spec) == 1000 ± 1
7999
@test minimum(spec) == 1 ± 0.1
80-
@test argmax(spec) == CartesianIndex(1, 7)
81-
@test argmin(spec) == CartesianIndex(1, 134)
82-
@test findmax(spec) == (1000 ± 1, CartesianIndex(1, 7))
83-
@test findmin(spec) == (1 ± 0.1, CartesianIndex(1, 134))
84-
@test eachrow(Measurements.uncertainty.(spec.flux)) fill(sigma, n_orders)
85-
86-
flux_trimmed = flux[:, 200:800]
87-
@test_throws AssertionError spectrum(wave, flux_trimmed)
100+
@test argmax(spec) == CartesianIndex(7, 1)
101+
@test argmin(spec) == CartesianIndex(134, 1)
102+
@test findmax(spec) == (1000 ± 1, CartesianIndex(7, 1))
103+
@test findmin(spec) == (1 ± 0.1, CartesianIndex(134, 1))
104+
@test eachcol(Measurements.uncertainty.(spec.flux)) fill(sigma, n_orders)
105+
106+
flux_trimmed = flux[200:800, :]
107+
@test_throws ArgumentError spectrum(wave, flux_trimmed)
88108
expected = """
89109
EchelleSpectrum(Float64, Measurements.Measurement{Float64})
90110
# orders: 3
91-
wave (3, 1000): 10000.0 .. 50000.0
92-
flux (3, 1000): 100.0 ± -2.8 .. 100.0 ± 0.6
111+
wave (1000, 3): 10000.0 .. 50000.0
112+
flux (1000, 3): 100.0 ± -2.8 .. 100.0 ± 0.6
93113
meta: Dict{Symbol, Any}(:name => "Test Echelle Spectrum")"""
94114
@test sprint(show, spec) == expected
95115
@test spec.name == "Test Echelle Spectrum"
@@ -166,17 +186,17 @@ end
166186
end
167187

168188
@testset "Unitful Spectrum - Echelle" begin
169-
n_orders = 3
170189
n_wavs = 1000
190+
n_orders = 3
171191
wave_1 = range(1e4, 5e4, length=n_wavs)
172-
wave = repeat(wave_1, 1, n_orders)'
192+
wave = repeat(wave_1, 1, n_orders)
173193
sigma = randn(size(wave_1))
174194
sigma[7] = 1
175195
sigma[134] = 0.1
176196
flux_1 = 100 sigma
177197
flux_1[7] = 1000 ± 1
178198
flux_1[134] = 1 ± 0.1
179-
flux = repeat(flux_1, 1, n_orders)'
199+
flux = repeat(flux_1, 1, n_orders)
180200

181201
wunit = u"angstrom"
182202
funit = u"W/m^2/angstrom"
@@ -192,14 +212,14 @@ end
192212
@test Spectra.wave(spec) == spec.wave
193213
@test Spectra.flux(spec) == spec.flux
194214
@test eltype(spec) == eltype(spec.flux)
195-
@test size(spec) === (n_orders, n_wavs)
215+
@test size(spec) === (n_wavs, n_orders)
196216
@test length(spec) == n_wavs * n_orders
197217
@test maximum(spec) == (1000 ± 1) * funit
198218
@test minimum(spec) == (1 ± 0.1) * funit
199-
@test argmax(spec) == CartesianIndex(1, 7)
200-
@test argmin(spec) == CartesianIndex(1, 134)
201-
@test findmax(spec) == ((1000 ± 1) * funit, CartesianIndex(1, 7))
202-
@test findmin(spec) == ((1 ± 0.1) * funit, CartesianIndex(1, 134))
219+
@test argmax(spec) == CartesianIndex(7, 1)
220+
@test argmin(spec) == CartesianIndex(134, 1)
221+
@test findmax(spec) == ((1000 ± 1) * funit, CartesianIndex(7, 1))
222+
@test findmin(spec) == ((1 ± 0.1) * funit, CartesianIndex(134, 1))
203223
@test spec.name == "test echelle"
204224

205225
# Test stripping
@@ -214,8 +234,8 @@ end
214234
expected = """
215235
EchelleSpectrum(Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(Å,), 𝐋, nothing}}, Unitful.Quantity{Measurements.Measurement{Float64}, 𝐌 𝐋^-1 𝐓^-3, Unitful.FreeUnits{(Å^-1, m^-2, W), 𝐌 𝐋^-1 𝐓^-3, nothing}})
216236
# orders: 3
217-
wave (3, 1000): 10000.0 Å .. 50000.0 Å
218-
flux (3, 1000): 100.0 ± -2.8 W Å^-1 m^-2 .. 100.0 ± 0.6 W Å^-1 m^-2
237+
wave (1000, 3): 10000.0 Å .. 50000.0 Å
238+
flux (1000, 3): 100.0 ± -2.8 W Å^-1 m^-2 .. 100.0 ± 0.6 W Å^-1 m^-2
219239
meta: Dict{Symbol, Any}(:name => "test echelle")"""
220240
@test sprint(show, spec) == expected
221241
end

0 commit comments

Comments
 (0)