Skip to content

Commit 6a1204c

Browse files
committed
Add reference tests
1 parent 5530296 commit 6a1204c

File tree

8 files changed

+45
-2
lines changed

8 files changed

+45
-2
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
*.jl.cov
33
*.jl.mem
44
/Manifest.toml
5+
/test/Manifest.toml
56
/docs/Manifest.toml
67
/docs/build/
78
/.vscode/

src/heatmap.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ end
2323
# such that we can show the heatmap both in the terminal and as HTML output in notebooks.
2424

2525
struct TextHeatmap{
26-
V<:AbstractArray{<:Real},W<:AbstractArray{<:AbstractString},C<:AbstractArray{<:Colorant}
26+
V<:AbstractArray{<:Real},W<:AbstractArray{<:AbstractString},C<:AbstractArray{<:RGB}
2727
}
2828
val::V
2929
words::W
@@ -32,7 +32,7 @@ struct TextHeatmap{
3232
if size(words) != size(val) || size(words) != size(colors)
3333
throw(ArgumentError("Sizes of values, words and colors don't match"))
3434
end
35-
colors = convert.(RGB{N0f8}, colors)
35+
colors = convert.(RGB, colors)
3636
return new{typeof(val),typeof(words),typeof(colors)}(val, words, colors)
3737
end
3838
end

test/Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
33
ColorSchemes = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
44
Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
5+
FixedPointNumbers = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
56
ReferenceTests = "324d217c-45ce-50fc-942e-d289b448e8cf"
67
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
78

89
[compat]
910
Aqua = "0.7"
1011
ColorSchemes = "3"
1112
Colors = "0.12"
13+
FixedPointNumbers = "0.8"
1214
ReferenceTests = "0.10"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Test TextHeatmaps
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Test TextHeatmaps
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Test TextHeatmaps
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Test TextHeatmaps

test/runtests.jl

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,46 @@
11
using TextHeatmaps
2+
using ColorSchemes
3+
using Colors
4+
using FixedPointNumbers
5+
26
using Test
7+
using ReferenceTests
38
using Aqua
49

510
@testset "TextHeatmaps.jl" begin
611
@testset "Aqua.jl" begin
712
@info "Running Aqua.jl's auto quality assurance tests. These might print warnings from dependencies."
813
Aqua.test_all(TextHeatmaps)
914
end
15+
@testset "Heatmap" begin
16+
words = ["Test", "TextHeatmaps"]
17+
val = [4.2, -1.0]
18+
19+
cs = TextHeatmaps.seismic
20+
cmin = get(cs, 0) # red
21+
cmax = get(cs, 1) # blue
22+
23+
# Test default ColorScheme seismic
24+
h = heatmap(val, words)
25+
@test h.colors[1] cmax
26+
@test h.colors[2] != cmin
27+
@test_reference "references/seismic_centered.txt" repr("text/plain", h)
28+
29+
h = heatmap(val, words; rangescale=:extrema)
30+
@test h.colors[1] cmax
31+
@test h.colors[2] cmin
32+
@test_reference "references/seismic_extrema.txt" repr("text/plain", h)
33+
34+
# Test other colorschemes
35+
cs = ColorSchemes.inferno
36+
h = heatmap(val, words; cs=cs, rangescale=:centered)
37+
@test_reference "references/inferno_centered.txt" repr("text/plain", h)
38+
h = heatmap(val, words; cs=cs, rangescale=:extrema)
39+
@test_reference "references/inferno_extrema.txt" repr("text/plain", h)
40+
41+
# Test errors
42+
@test_throws ArgumentError heatmap(val, ["Test", "Text", "Heatmaps"])
43+
# Test inner constructor
44+
@test_throws ArgumentError TextHeatmaps.TextHeatmap(val, words, [cmin, cmax, cmax])
45+
end
1046
end

0 commit comments

Comments
 (0)