@@ -145,30 +145,32 @@ end
145145 @test Tables. buildcolumns (nothing , rt) == nt
146146 @test Tables. columntable (nothing , nt) == nt
147147
148- @testset " columntable getrows" begin
149- @test Tables. getrows (nt, 1 ) == (a= 1 , b= 4.0 , c= " 7" )
150- @test Tables. getrows (nt, 1 , view= false ) == (a= 1 , b= 4.0 , c= " 7" )
151- @test Tables. getrows (nt, 1 , view= nothing ) == (a= 1 , b= 4.0 , c= " 7" )
152- @test Tables. getrows (nt, 1 : 2 ) == (a= [1 ,2 ], b= [4.0 , 5.0 ], c= [" 7" ," 8" ])
153- @test Tables. getrows (nt, 1 : 2 , view= false ) == (a= [1 ,2 ], b= [4.0 , 5.0 ], c= [" 7" ," 8" ])
154- @test Tables. getrows (nt, 1 : 2 , view= nothing ) == (a= [1 ,2 ], b= [4.0 , 5.0 ], c= [" 7" ," 8" ])
148+ @testset " columntable subset" begin
149+ @test Tables. subset (nt, 1 ) == (a= 1 , b= 4.0 , c= " 7" )
150+ @test Tables. subset (nt, 1 , view= false ) == (a= 1 , b= 4.0 , c= " 7" )
151+ @test Tables. subset (nt, 1 , view= nothing ) == (a= 1 , b= 4.0 , c= " 7" )
152+ @test Tables. subset (nt, 1 : 2 ) == (a= [1 ,2 ], b= [4.0 , 5.0 ], c= [" 7" ," 8" ])
153+ @test Tables. subset (nt, 1 : 2 , view= false ) == (a= [1 ,2 ], b= [4.0 , 5.0 ], c= [" 7" ," 8" ])
154+ @test Tables. subset (nt, 1 : 2 , view= nothing ) == (a= [1 ,2 ], b= [4.0 , 5.0 ], c= [" 7" ," 8" ])
155+ @test_throws ArgumentError Tables. subset (nt, [1 : 2 1 : 2 ])
155156
156- @test Tables. getrows (nt, 1 , view= true ) == (a = fill ( 1 ) , b = fill ( 4.0 ) , c = fill ( " 7" ) )
157- rs = Tables. getrows (nt, 1 : 2 , view= true )
157+ @test Tables. subset (nt, 1 , view= true ) == (a= 1 , b= 4.0 , c= " 7" )
158+ rs = Tables. subset (nt, 1 : 2 , view= true )
158159 @test rs == (a= [1 ,2 ], b= [4.0 , 5.0 ], c= [" 7" ," 8" ])
159160 @test rs. a. parent === nt. a
160161 end
161162
162- @testset " rowtable getrows" begin
163- @test Tables. getrows (rt, 1 ) == (a= 1 , b= 4.0 , c= " 7" )
164- @test Tables. getrows (rt, 1 , view= false ) == (a= 1 , b= 4.0 , c= " 7" )
165- @test Tables. getrows (rt, 1 , view= nothing ) == (a= 1 , b= 4.0 , c= " 7" )
166- @test Tables. getrows (rt, 1 : 2 ) == [(a= 1 , b= 4.0 , c= " 7" ), (a= 2 , b= 5.0 , c= " 8" )]
167- @test Tables. getrows (rt, 1 : 2 , view= false ) == [(a= 1 , b= 4.0 , c= " 7" ), (a= 2 , b= 5.0 , c= " 8" )]
168- @test Tables. getrows (rt, 1 : 2 , view= nothing ) == [(a= 1 , b= 4.0 , c= " 7" ), (a= 2 , b= 5.0 , c= " 8" )]
163+ @testset " rowtable subset" begin
164+ @test Tables. subset (rt, 1 ) == (a= 1 , b= 4.0 , c= " 7" )
165+ @test Tables. subset (rt, 1 , view= false ) == (a= 1 , b= 4.0 , c= " 7" )
166+ @test Tables. subset (rt, 1 , view= nothing ) == (a= 1 , b= 4.0 , c= " 7" )
167+ @test Tables. subset (rt, 1 : 2 ) == [(a= 1 , b= 4.0 , c= " 7" ), (a= 2 , b= 5.0 , c= " 8" )]
168+ @test Tables. subset (rt, 1 : 2 , view= false ) == [(a= 1 , b= 4.0 , c= " 7" ), (a= 2 , b= 5.0 , c= " 8" )]
169+ @test Tables. subset (rt, 1 : 2 , view= nothing ) == [(a= 1 , b= 4.0 , c= " 7" ), (a= 2 , b= 5.0 , c= " 8" )]
170+ @test_throws ArgumentError Tables. subset (rt, [1 : 2 1 : 2 ])
169171
170- @test Tables. getrows (rt, 1 , view= true ) == fill ((a = 1 , b = 4.0 , c = " 7" ) )
171- rs = Tables. getrows (rt, 1 : 2 , view= true )
172+ @test Tables. subset (rt, 1 , view= true ) == (a = 1 , b= 4.0 , c= " 7" )
173+ rs = Tables. subset (rt, 1 : 2 , view= true )
172174 @test rs == [(a= 1 , b= 4.0 , c= " 7" ), (a= 2 , b= 5.0 , c= " 8" )]
173175 @test rs. parent === rt
174176 end
714716 @test dct. a == [1 , 2 , 3 ]
715717 @test dct. b == [4.0 , 5.0 , 6.0 ]
716718 @test dct. c == [" 7" , " 8" , " 9" ]
719+ # Tables.subset
720+ drow = Tables. subset (dct, 1 )
721+ @test drow. a == 1 && drow. b == 4.0 && drow. c == " 7"
722+ drows = Tables. subset (dct, [1 , 2 ])
723+ @test drows. a == [1 , 2 ] && drows. b == [4.0 , 5.0 ] && drows. c == [" 7" , " 8" ]
724+ @test Tables. rowcount (drows) == 2
717725
718726 dct = Tables. dictcolumntable (ct)
719727 @test dct. a == [1 , 2 , 3 ]
760768 # https://github.com/JuliaData/Tables.jl/issues/286
761769 dta = Tables. dictcolumntable ([(; a= " hey" ), (; b= 2 )]). a
762770 @test isequal (dta, [" hey" , missing ])
771+ # Tables.subset
772+ drow = Tables. subset (drt, 1 )
773+ @test drow. a == 1 && drow. b == 2 && drow. c == 3
774+ drows = Tables. subset (drt, [1 , 2 ])
775+ @test length (drows) == 2
776+ drowsv = Tables. subset (drt, [1 , 2 ]; view= true )
777+ @test length (drowsv) == 2
763778end
764779
765780# extremely wide tables
0 commit comments