Skip to content

Commit ea5806b

Browse files
authored
Organize tests (#120)
* Organize tests * Move 'rng' to runtests.jl
1 parent c6c91fc commit ea5806b

26 files changed

+2058
-2051
lines changed

test/colspec.jl

-56
Original file line numberDiff line numberDiff line change
@@ -104,59 +104,3 @@
104104
@inferred TableTransforms.choose(colspec, vecnames)
105105
@inferred TableTransforms.choose(colspec, tupnames)
106106
end
107-
108-
@testset "TableSelection" begin
109-
a = rand(4000)
110-
b = rand(4000)
111-
c = rand(4000)
112-
d = rand(4000)
113-
e = rand(4000)
114-
f = rand(4000)
115-
t = Table(; a, b, c, d, e, f)
116-
117-
# Tables.jl interface
118-
select = [:a, :b, :e]
119-
newnames = select
120-
s = TableTransforms.TableSelection(t, newnames, select)
121-
@test Tables.istable(s) == true
122-
@test Tables.columnaccess(s) == true
123-
@test Tables.rowaccess(s) == false
124-
@test Tables.columns(s) === s
125-
@test Tables.columnnames(s) == [:a, :b, :e]
126-
@test Tables.schema(s).names == (:a, :b, :e)
127-
@test Tables.schema(s).types == (Float64, Float64, Float64)
128-
@test Tables.materializer(s) == Tables.materializer(t)
129-
130-
# getcolumn
131-
cols = Tables.columns(t)
132-
@test Tables.getcolumn(s, :a) == Tables.getcolumn(cols, :a)
133-
@test Tables.getcolumn(s, 1) == Tables.getcolumn(cols, 1)
134-
@test Tables.getcolumn(s, 3) == Tables.getcolumn(cols, :e)
135-
136-
# selectin with renaming
137-
select = [:c, :d, :f]
138-
newnames = [:x, :y, :z]
139-
s = TableTransforms.TableSelection(t, newnames, select)
140-
@test Tables.columnnames(s) == [:x, :y, :z]
141-
@test Tables.getcolumn(s, :x) == t.c
142-
@test Tables.getcolumn(s, :y) == t.d
143-
@test Tables.getcolumn(s, :z) == t.f
144-
145-
# row table
146-
select = [:a, :b, :e]
147-
newnames = select
148-
rt = Tables.rowtable(t)
149-
s = TableTransforms.TableSelection(rt, newnames, select)
150-
cols = Tables.columns(rt)
151-
@test Tables.getcolumn(s, :a) == Tables.getcolumn(cols, :a)
152-
@test Tables.getcolumn(s, 1) == Tables.getcolumn(cols, 1)
153-
@test Tables.getcolumn(s, 3) == Tables.getcolumn(cols, :e)
154-
155-
# throws
156-
@test_throws AssertionError TableTransforms.TableSelection(t, [:a, :b, :z], [:a, :b, :z])
157-
@test_throws AssertionError TableTransforms.TableSelection(t, [:x, :y, :z], [:c, :d, :k])
158-
s = TableTransforms.TableSelection(t, [:a, :b, :e], [:a, :b, :e])
159-
@test_throws ErrorException Tables.getcolumn(s, :f)
160-
s = TableTransforms.TableSelection(t, [:x, :y, :z], [:c, :d, :f])
161-
@test_throws ErrorException Tables.getcolumn(s, :c)
162-
end

test/runtests.jl

+5
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ islinux = Sys.islinux()
2323
visualtests = !isCI || (isCI && islinux)
2424
datadir = joinpath(@__DIR__,"data")
2525

26+
# using MersenneTwister for backward
27+
# compatibility with old Julia versions
28+
rng = MersenneTwister(42)
29+
2630
# for functor tests in Functional testset
2731
struct Polynomial{T<:Real}
2832
coeffs::Vector{T}
@@ -43,6 +47,7 @@ testfiles = [
4347
"distributions.jl",
4448
"colspec.jl",
4549
"transforms.jl",
50+
"tableselection.jl",
4651
"shows.jl"
4752
]
4853

test/tableselection.jl

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
@testset "TableSelection" begin
2+
a = rand(4000)
3+
b = rand(4000)
4+
c = rand(4000)
5+
d = rand(4000)
6+
e = rand(4000)
7+
f = rand(4000)
8+
t = Table(; a, b, c, d, e, f)
9+
10+
# Tables.jl interface
11+
select = [:a, :b, :e]
12+
newnames = select
13+
s = TableTransforms.TableSelection(t, newnames, select)
14+
@test Tables.istable(s) == true
15+
@test Tables.columnaccess(s) == true
16+
@test Tables.rowaccess(s) == false
17+
@test Tables.columns(s) === s
18+
@test Tables.columnnames(s) == [:a, :b, :e]
19+
@test Tables.schema(s).names == (:a, :b, :e)
20+
@test Tables.schema(s).types == (Float64, Float64, Float64)
21+
@test Tables.materializer(s) == Tables.materializer(t)
22+
23+
# getcolumn
24+
cols = Tables.columns(t)
25+
@test Tables.getcolumn(s, :a) == Tables.getcolumn(cols, :a)
26+
@test Tables.getcolumn(s, 1) == Tables.getcolumn(cols, 1)
27+
@test Tables.getcolumn(s, 3) == Tables.getcolumn(cols, :e)
28+
29+
# selectin with renaming
30+
select = [:c, :d, :f]
31+
newnames = [:x, :y, :z]
32+
s = TableTransforms.TableSelection(t, newnames, select)
33+
@test Tables.columnnames(s) == [:x, :y, :z]
34+
@test Tables.getcolumn(s, :x) == t.c
35+
@test Tables.getcolumn(s, :y) == t.d
36+
@test Tables.getcolumn(s, :z) == t.f
37+
38+
# row table
39+
select = [:a, :b, :e]
40+
newnames = select
41+
rt = Tables.rowtable(t)
42+
s = TableTransforms.TableSelection(rt, newnames, select)
43+
cols = Tables.columns(rt)
44+
@test Tables.getcolumn(s, :a) == Tables.getcolumn(cols, :a)
45+
@test Tables.getcolumn(s, 1) == Tables.getcolumn(cols, 1)
46+
@test Tables.getcolumn(s, 3) == Tables.getcolumn(cols, :e)
47+
48+
# throws
49+
@test_throws AssertionError TableTransforms.TableSelection(t, [:a, :b, :z], [:a, :b, :z])
50+
@test_throws AssertionError TableTransforms.TableSelection(t, [:x, :y, :z], [:c, :d, :k])
51+
s = TableTransforms.TableSelection(t, [:a, :b, :e], [:a, :b, :e])
52+
@test_throws ErrorException Tables.getcolumn(s, :f)
53+
s = TableTransforms.TableSelection(t, [:x, :y, :z], [:c, :d, :f])
54+
@test_throws ErrorException Tables.getcolumn(s, :c)
55+
end

0 commit comments

Comments
 (0)