diff --git a/NEWS.md b/NEWS.md index 497e0877e3..e233958d0d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -102,6 +102,7 @@ ## Dependency changes +* Tables.jl version 1.2 is now required. * DataAPI.jl version 1.4 is now required. It implies that `All(args...)` is deprecated and `Cols(args...)` is recommended instead. `All()` is still supported. diff --git a/Project.toml b/Project.toml index 0e589394ff..064dbfdd9e 100644 --- a/Project.toml +++ b/Project.toml @@ -36,7 +36,7 @@ PrettyTables = "0.10" Reexport = "0.1, 0.2" SortingAlgorithms = "0.1, 0.2, 0.3" TableTraits = "0.4, 1" -Tables = "1.1" +Tables = "1.2" [extras] DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" diff --git a/test/select.jl b/test/select.jl index 169bdee722..73e26db3ad 100644 --- a/test/select.jl +++ b/test/select.jl @@ -1542,10 +1542,12 @@ end DataFrame(p=Int[], q=String[])) # here this follows Tables.jl behavior - for res in ([1, "1"], (1, "1")) - @test select(df, [] => ByRow(() -> res) => AsTable) == DataFrame() - @test_throws ArgumentError select(df, [] => ByRow(() -> res) => [:p, :q]) - end + @test select(df, [] => ByRow(() -> [1, "1"]) => AsTable) == DataFrame() + @test_throws ArgumentError select(df, [] => ByRow(() -> [1, "1"]) => [:p, :q]) + @test isequal_coltyped(select(df, [] => ByRow(() -> (1, "1")) => AsTable), + DataFrame(Column1=Int[], Column2=String[])) + @test isequal_coltyped(select(df, [] => ByRow(() -> (1, "1")) => [:p, :q]), + DataFrame(p=Int[], q=String[])) end @test select(df, AsTable([]) => ByRow(x -> 1)) == DataFrame("function" => [1, 1, 1]) @@ -1570,10 +1572,12 @@ end DataFrame(p=Int[], q=String[])) # here this follows Tables.jl behavior - for res in ([1, "1"], (1, "1")) - @test select(df, AsTable([]) => ByRow(x -> res) => AsTable) == DataFrame() - @test_throws ArgumentError select(df, AsTable([]) => ByRow(x -> res) => [:p, :q]) - end + @test select(df, [] => ByRow(() -> [1, "1"]) => AsTable) == DataFrame() + @test_throws ArgumentError select(df, [] => ByRow(() -> [1, "1"]) => [:p, :q]) + @test isequal_coltyped(select(df, [] => ByRow(() -> (1, "1")) => AsTable), + DataFrame(Column1=Int[], Column2=String[])) + @test isequal_coltyped(select(df, [] => ByRow(() -> (1, "1")) => [:p, :q]), + DataFrame(p=Int[], q=String[])) end end diff --git a/test/tables.jl b/test/tables.jl index e03c008fa4..2f0ba67deb 100644 --- a/test/tables.jl +++ b/test/tables.jl @@ -265,7 +265,15 @@ end end @testset "test constructor with vectors" begin - @test DataFrame(Any[]) == DataFrame() + @test_throws ArgumentError DataFrame(Any[]) + df = DataFrame(typeof((1,1))[]) + @test names(df) == ["Column1", "Column2"] + @test size(df) == (0, 2) + @test eltype(df.Column1) == Int + df = DataFrame(typeof((a=1, b=1))[]) + @test names(df) == ["a", "b"] + @test size(df) == (0, 2) + @test eltype(df.a) == Int @test DataFrame(Vector[], :auto) == DataFrame() @test DataFrame(Pair{Symbol, Vector}[], :auto) == DataFrame() @test DataFrame(Pair[]) == DataFrame()