@@ -109,30 +109,46 @@ end
109
109
end
110
110
111
111
@testset " promote_type" begin
112
- # Tests that return Any are due to JuliaLang/julia#29348
113
- # It is not clear what would be the most appropriate promotion type for them,
114
- # but at least they should not throw an error
115
112
@test promote_type (CategoricalValue{Int}, CategoricalValue{Float64}) ===
116
113
CategoricalValue{Float64}
117
114
@test promote_type (CategoricalValue{Int, UInt8}, CategoricalValue{Float64, UInt32}) ===
118
115
CategoricalValue{Float64, UInt32}
119
116
@test promote_type (CategoricalValue{Int, UInt8}, CategoricalValue{Float64}) ===
120
117
CategoricalValue{Float64}
121
- @test promote_type (CategoricalValue{Int},
122
- Union{CategoricalValue{Float64}, Missing}) ===
123
- Any
124
- @test promote_type (CategoricalValue{Int, UInt8},
125
- Union{CategoricalValue{Float64, UInt32}, Missing}) ===
126
- Union{CategoricalValue{Float64, UInt32}, Missing}
127
- @test promote_type (Union{CategoricalValue{Int}, Missing},
128
- CategoricalValue{Float64}) ===
129
- Any
130
- @test promote_type (Union{CategoricalValue{Int, UInt8}, Missing},
131
- CategoricalValue{Float64, UInt32}) ===
132
- Union{CategoricalValue{Float64, UInt32}, Missing}
133
- @test promote_type (Union{CategoricalValue{Int}, Missing},
134
- Union{CategoricalValue{Float64}, Missing}) ===
135
- Any
118
+ # Tests that return Any before Julia 1.3 are due to JuliaLang/julia#29348
119
+ if VERSION >= v " 1.3.0-DEV"
120
+ @test promote_type (CategoricalValue{Int},
121
+ Union{CategoricalValue{Float64}, Missing}) ===
122
+ Union{Missing, Float64}
123
+ @test promote_type (CategoricalValue{Int, UInt8},
124
+ Union{CategoricalValue{Float64, UInt32}, Missing}) ===
125
+ Union{CategoricalValue{Float64, UInt32}, Missing}
126
+ @test promote_type (Union{CategoricalValue{Int}, Missing},
127
+ CategoricalValue{Float64}) ===
128
+ Union{Missing, Float64}
129
+ @test promote_type (Union{CategoricalValue{Int, UInt8}, Missing},
130
+ CategoricalValue{Float64, UInt32}) ===
131
+ Union{CategoricalValue{Float64, UInt32}, Missing}
132
+ @test promote_type (Union{CategoricalValue{Int}, Missing},
133
+ Union{CategoricalValue{Float64}, Missing}) ===
134
+ Union{Missing, Float64}
135
+ else
136
+ @test promote_type (CategoricalValue{Int},
137
+ Union{CategoricalValue{Float64}, Missing}) ===
138
+ Any
139
+ @test promote_type (CategoricalValue{Int, UInt8},
140
+ Union{CategoricalValue{Float64, UInt32}, Missing}) ===
141
+ Union{CategoricalValue{Float64, UInt32}, Missing}
142
+ @test promote_type (Union{CategoricalValue{Int}, Missing},
143
+ CategoricalValue{Float64}) ===
144
+ Any
145
+ @test promote_type (Union{CategoricalValue{Int, UInt8}, Missing},
146
+ CategoricalValue{Float64, UInt32}) ===
147
+ Union{CategoricalValue{Float64, UInt32}, Missing}
148
+ @test promote_type (Union{CategoricalValue{Int}, Missing},
149
+ Union{CategoricalValue{Float64}, Missing}) ===
150
+ Any
151
+ end
136
152
@test promote_type (Union{CategoricalValue{Int, UInt8}, Missing},
137
153
Union{CategoricalValue{Float64, UInt32}, Missing}) ===
138
154
Union{CategoricalValue{Float64, UInt32}, Missing}
0 commit comments