@@ -42,175 +42,3 @@ where
4242 }
4343 }
4444}
45-
46- #[ cfg( test) ]
47- mod tests {
48- use vortex_mask:: Mask ;
49- use vortex_vector:: binaryview:: StringVectorMut ;
50- use vortex_vector:: { VectorMutOps , VectorOps } ;
51-
52- use super :: * ;
53- use crate :: filter:: MaskIndices ;
54-
55- #[ test]
56- fn test_filter_binary_view_vector_with_mask ( ) {
57- let mut vec = StringVectorMut :: with_capacity ( 5 ) ;
58- vec. append_values ( "hello" , 1 ) ;
59- vec. append_values ( "world" , 1 ) ;
60- vec. append_values ( "foo" , 1 ) ;
61- vec. append_values ( "bar" , 1 ) ;
62- vec. append_values ( "baz" , 1 ) ;
63- let vec = vec. freeze ( ) ;
64-
65- let mask = Mask :: from_iter ( [ true , false , true , false , true ] ) ;
66-
67- let filtered = vec. filter ( & mask) ;
68-
69- assert_eq ! ( filtered. len( ) , 3 ) ;
70- assert_eq ! ( filtered. validity( ) . true_count( ) , 3 ) ;
71- assert_eq ! ( filtered. get_ref( 0 ) , Some ( "hello" ) ) ;
72- assert_eq ! ( filtered. get_ref( 1 ) , Some ( "foo" ) ) ;
73- assert_eq ! ( filtered. get_ref( 2 ) , Some ( "baz" ) ) ;
74- }
75-
76- #[ test]
77- fn test_filter_binary_view_vector_with_mask_indices ( ) {
78- let mut vec = StringVectorMut :: with_capacity ( 5 ) ;
79- vec. append_values ( "hello" , 1 ) ;
80- vec. append_values ( "world" , 1 ) ;
81- vec. append_values ( "foo" , 1 ) ;
82- vec. append_values ( "bar" , 1 ) ;
83- vec. append_values ( "baz" , 1 ) ;
84- let vec = vec. freeze ( ) ;
85-
86- let indices = unsafe { MaskIndices :: new_unchecked ( & [ 0 , 2 , 4 ] ) } ;
87-
88- let filtered = vec. filter ( & indices) ;
89-
90- assert_eq ! ( filtered. len( ) , 3 ) ;
91- assert_eq ! ( filtered. validity( ) . true_count( ) , 3 ) ;
92- assert_eq ! ( filtered. get_ref( 0 ) , Some ( "hello" ) ) ;
93- assert_eq ! ( filtered. get_ref( 1 ) , Some ( "foo" ) ) ;
94- assert_eq ! ( filtered. get_ref( 2 ) , Some ( "baz" ) ) ;
95- }
96-
97- #[ test]
98- fn test_filter_binary_view_vector_with_nulls ( ) {
99- let mut vec = StringVectorMut :: with_capacity ( 5 ) ;
100- vec. append_values ( "hello" , 1 ) ;
101- vec. append_nulls ( 1 ) ;
102- vec. append_values ( "foo" , 1 ) ;
103- vec. append_values ( "bar" , 1 ) ;
104- vec. append_nulls ( 1 ) ;
105- let vec = vec. freeze ( ) ;
106-
107- let mask = Mask :: from_iter ( [ true , true , false , true , false ] ) ;
108-
109- let filtered = vec. filter ( & mask) ;
110-
111- assert_eq ! ( filtered. len( ) , 3 ) ;
112- assert_eq ! ( filtered. validity( ) . true_count( ) , 2 ) ;
113- assert_eq ! ( filtered. get_ref( 0 ) , Some ( "hello" ) ) ;
114- assert_eq ! ( filtered. get_ref( 1 ) , None ) ;
115- assert_eq ! ( filtered. get_ref( 2 ) , Some ( "bar" ) ) ;
116- }
117-
118- #[ test]
119- fn test_filter_binary_view_vector_all_true ( ) {
120- let mut vec = StringVectorMut :: with_capacity ( 3 ) ;
121- vec. append_values ( "hello" , 1 ) ;
122- vec. append_values ( "world" , 1 ) ;
123- vec. append_values ( "foo" , 1 ) ;
124- let vec = vec. freeze ( ) ;
125-
126- let mask = Mask :: new_true ( 3 ) ;
127-
128- let filtered = vec. filter ( & mask) ;
129-
130- assert_eq ! ( filtered. len( ) , 3 ) ;
131- assert_eq ! ( filtered. get_ref( 0 ) , Some ( "hello" ) ) ;
132- assert_eq ! ( filtered. get_ref( 1 ) , Some ( "world" ) ) ;
133- assert_eq ! ( filtered. get_ref( 2 ) , Some ( "foo" ) ) ;
134- }
135-
136- #[ test]
137- fn test_filter_binary_view_vector_all_false ( ) {
138- let mut vec = StringVectorMut :: with_capacity ( 3 ) ;
139- vec. append_values ( "hello" , 1 ) ;
140- vec. append_values ( "world" , 1 ) ;
141- vec. append_values ( "foo" , 1 ) ;
142- let vec = vec. freeze ( ) ;
143-
144- let mask = Mask :: new_false ( 3 ) ;
145-
146- let filtered = vec. filter ( & mask) ;
147-
148- assert_eq ! ( filtered. len( ) , 0 ) ;
149- }
150-
151- #[ test]
152- fn test_filter_binary_view_vector_mut_with_mask ( ) {
153- let mut vec = StringVectorMut :: with_capacity ( 5 ) ;
154- vec. append_values ( "hello" , 1 ) ;
155- vec. append_values ( "world" , 1 ) ;
156- vec. append_values ( "foo" , 1 ) ;
157- vec. append_values ( "bar" , 1 ) ;
158- vec. append_values ( "baz" , 1 ) ;
159-
160- let mask = Mask :: from_iter ( [ true , false , true , false , true ] ) ;
161-
162- vec. filter ( & mask) ;
163-
164- assert_eq ! ( vec. len( ) , 3 ) ;
165- let frozen = vec. freeze ( ) ;
166- assert_eq ! ( frozen. len( ) , 3 ) ;
167- assert_eq ! ( frozen. validity( ) . true_count( ) , 3 ) ;
168- assert_eq ! ( frozen. get_ref( 0 ) , Some ( "hello" ) ) ;
169- assert_eq ! ( frozen. get_ref( 1 ) , Some ( "foo" ) ) ;
170- assert_eq ! ( frozen. get_ref( 2 ) , Some ( "baz" ) ) ;
171- }
172-
173- #[ test]
174- fn test_filter_binary_view_vector_mut_with_mask_indices ( ) {
175- let mut vec = StringVectorMut :: with_capacity ( 5 ) ;
176- vec. append_values ( "hello" , 1 ) ;
177- vec. append_values ( "world" , 1 ) ;
178- vec. append_values ( "foo" , 1 ) ;
179- vec. append_values ( "bar" , 1 ) ;
180- vec. append_values ( "baz" , 1 ) ;
181-
182- let indices = unsafe { MaskIndices :: new_unchecked ( & [ 0 , 2 , 4 ] ) } ;
183-
184- vec. filter ( & indices) ;
185-
186- assert_eq ! ( vec. len( ) , 3 ) ;
187- let frozen = vec. freeze ( ) ;
188- assert_eq ! ( frozen. len( ) , 3 ) ;
189- assert_eq ! ( frozen. validity( ) . true_count( ) , 3 ) ;
190- assert_eq ! ( frozen. get_ref( 0 ) , Some ( "hello" ) ) ;
191- assert_eq ! ( frozen. get_ref( 1 ) , Some ( "foo" ) ) ;
192- assert_eq ! ( frozen. get_ref( 2 ) , Some ( "baz" ) ) ;
193- }
194-
195- #[ test]
196- fn test_filter_binary_view_vector_mut_with_nulls ( ) {
197- let mut vec = StringVectorMut :: with_capacity ( 5 ) ;
198- vec. append_values ( "hello" , 1 ) ;
199- vec. append_nulls ( 1 ) ;
200- vec. append_values ( "foo" , 1 ) ;
201- vec. append_values ( "bar" , 1 ) ;
202- vec. append_nulls ( 1 ) ;
203-
204- let mask = Mask :: from_iter ( [ true , true , false , true , false ] ) ;
205-
206- vec. filter ( & mask) ;
207-
208- assert_eq ! ( vec. len( ) , 3 ) ;
209- let frozen = vec. freeze ( ) ;
210- assert_eq ! ( frozen. len( ) , 3 ) ;
211- assert_eq ! ( frozen. validity( ) . true_count( ) , 2 ) ;
212- assert_eq ! ( frozen. get_ref( 0 ) , Some ( "hello" ) ) ;
213- assert_eq ! ( frozen. get_ref( 1 ) , None ) ;
214- assert_eq ! ( frozen. get_ref( 2 ) , Some ( "bar" ) ) ;
215- }
216- }
0 commit comments