Skip to content

Commit 10a2c86

Browse files
chore[encodings]: use vx array assert eq macro (#5076)
Signed-off-by: Joe Isaacs <[email protected]>
1 parent 4d2291e commit 10a2c86

File tree

54 files changed

+519
-550
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+519
-550
lines changed

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

encodings/alp/src/alp/compress.rs

Lines changed: 39 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -154,30 +154,26 @@ mod tests {
154154
let array = PrimitiveArray::new(buffer![1.234f32; 1025], Validity::NonNullable);
155155
let encoded = alp_encode(&array, None).unwrap();
156156
assert!(encoded.patches().is_none());
157-
assert_eq!(
158-
encoded.encoded().to_primitive().as_slice::<i32>(),
159-
vec![1234; 1025]
160-
);
157+
let expected_encoded = PrimitiveArray::from_iter(vec![1234i32; 1025]);
158+
assert_arrays_eq!(encoded.encoded(), expected_encoded);
161159
assert_eq!(encoded.exponents(), Exponents { e: 9, f: 6 });
162160

163161
let decoded = decompress(&encoded);
164-
assert_eq!(array.as_slice::<f32>(), decoded.as_slice::<f32>());
162+
assert_arrays_eq!(decoded, array);
165163
}
166164

167165
#[test]
168166
fn test_nullable_compress() {
169167
let array = PrimitiveArray::from_option_iter([None, Some(1.234f32), None]);
170168
let encoded = alp_encode(&array, None).unwrap();
171169
assert!(encoded.patches().is_none());
172-
assert_eq!(
173-
encoded.encoded().to_primitive().as_slice::<i32>(),
174-
vec![0, 1234, 0]
175-
);
170+
let expected_encoded = PrimitiveArray::from_option_iter([None, Some(1234i32), None]);
171+
assert_arrays_eq!(encoded.encoded(), expected_encoded);
176172
assert_eq!(encoded.exponents(), Exponents { e: 9, f: 6 });
177173

178174
let decoded = decompress(&encoded);
179-
let expected = vec![0f32, 1.234f32, 0f32];
180-
assert_eq!(decoded.as_slice::<f32>(), expected.as_slice());
175+
let expected = PrimitiveArray::from_option_iter(vec![None, Some(1.234f32), None]);
176+
assert_arrays_eq!(decoded, expected);
181177
}
182178

183179
#[test]
@@ -187,14 +183,13 @@ mod tests {
187183
let array = PrimitiveArray::new(values.clone(), Validity::NonNullable);
188184
let encoded = alp_encode(&array, None).unwrap();
189185
assert!(encoded.patches().is_some());
190-
assert_eq!(
191-
encoded.encoded().to_primitive().as_slice::<i64>(),
192-
vec![1234i64, 2718, 1234, 4000]
193-
);
186+
let expected_encoded = PrimitiveArray::from_iter(vec![1234i64, 2718, 1234, 4000]);
187+
assert_arrays_eq!(encoded.encoded(), expected_encoded);
194188
assert_eq!(encoded.exponents(), Exponents { e: 16, f: 13 });
195189

196190
let decoded = decompress(&encoded);
197-
assert_eq!(values.as_slice(), decoded.as_slice::<f64>());
191+
let expected_decoded = PrimitiveArray::new(values, Validity::NonNullable);
192+
assert_arrays_eq!(decoded, expected_decoded);
198193
}
199194

200195
#[test]
@@ -204,10 +199,9 @@ mod tests {
204199
let array = PrimitiveArray::new(values, Validity::from_iter([true, true, false, true]));
205200
let encoded = alp_encode(&array, None).unwrap();
206201
assert!(encoded.patches().is_none());
207-
assert_eq!(
208-
encoded.encoded().to_primitive().as_slice::<i64>(),
209-
vec![1234i64, 2718, 1234, 4000]
210-
);
202+
let expected_encoded =
203+
PrimitiveArray::from_option_iter(buffer![Some(1234i64), Some(2718), None, Some(4000)]);
204+
assert_arrays_eq!(encoded.encoded(), expected_encoded);
211205
assert_eq!(encoded.exponents(), Exponents { e: 16, f: 13 });
212206

213207
let decoded = decompress(&encoded);
@@ -239,7 +233,7 @@ mod tests {
239233
let original = PrimitiveArray::from_iter([195.26274f32, 195.27837, -48.815685]);
240234
let alp_arr = alp_encode(&original, None).unwrap();
241235
let decompressed = alp_arr.to_primitive();
242-
assert_eq!(original.as_slice::<f32>(), decompressed.as_slice::<f32>());
236+
assert_arrays_eq!(decompressed, original);
243237
}
244238

245239
#[test]
@@ -289,13 +283,16 @@ mod tests {
289283
let patches = encoded.patches().unwrap();
290284

291285
let chunk_offsets = patches.chunk_offsets().clone().unwrap().to_primitive();
292-
assert_eq!(chunk_offsets.as_slice::<u64>(), &[0, 1, 3]);
286+
let expected_offsets = PrimitiveArray::from_iter(vec![0u64, 1, 3]);
287+
assert_arrays_eq!(chunk_offsets, expected_offsets);
293288

294289
let patch_indices = patches.indices().to_primitive();
295-
assert_eq!(patch_indices.as_slice::<u64>(), &[1023, 1024, 1025]);
290+
let expected_indices = PrimitiveArray::from_iter(vec![1023u64, 1024, 1025]);
291+
assert_arrays_eq!(patch_indices, expected_indices);
296292

297293
let patch_values = patches.values().to_primitive();
298-
assert_eq!(patch_values.as_slice::<f64>(), &[PI, E, PI]);
294+
let expected_values = PrimitiveArray::from_iter(vec![PI, E, PI]);
295+
assert_arrays_eq!(patch_values, expected_values);
299296
}
300297

301298
#[test]
@@ -309,13 +306,16 @@ mod tests {
309306
let patches = encoded.patches().unwrap();
310307

311308
let chunk_offsets = patches.chunk_offsets().clone().unwrap().to_primitive();
312-
assert_eq!(chunk_offsets.as_slice::<u64>(), &[0, 1, 1]);
309+
let expected_offsets = PrimitiveArray::from_iter(vec![0u64, 1, 1]);
310+
assert_arrays_eq!(chunk_offsets, expected_offsets);
313311

314312
let patch_indices = patches.indices().to_primitive();
315-
assert_eq!(patch_indices.as_slice::<u64>(), &[0, 2048]);
313+
let expected_indices = PrimitiveArray::from_iter(vec![0u64, 2048]);
314+
assert_arrays_eq!(patch_indices, expected_indices);
316315

317316
let patch_values = patches.values().to_primitive();
318-
assert_eq!(patch_values.as_slice::<f64>(), &[PI, E]);
317+
let expected_values = PrimitiveArray::from_iter(vec![PI, E]);
318+
assert_arrays_eq!(patch_values, expected_values);
319319
}
320320

321321
#[test]
@@ -328,13 +328,16 @@ mod tests {
328328
let patches = encoded.patches().unwrap();
329329

330330
let chunk_offsets = patches.chunk_offsets().clone().unwrap().to_primitive();
331-
assert_eq!(chunk_offsets.as_slice::<u64>(), &[0, 1, 1]);
331+
let expected_offsets = PrimitiveArray::from_iter(vec![0u64, 1, 1]);
332+
assert_arrays_eq!(chunk_offsets, expected_offsets);
332333

333334
let patch_indices = patches.indices().to_primitive();
334-
assert_eq!(patch_indices.as_slice::<u64>(), &[0]);
335+
let expected_indices = PrimitiveArray::from_iter(vec![0u64]);
336+
assert_arrays_eq!(patch_indices, expected_indices);
335337

336338
let patch_values = patches.values().to_primitive();
337-
assert_eq!(patch_values.as_slice::<f64>(), &[PI]);
339+
let expected_values = PrimitiveArray::from_iter(vec![PI]);
340+
assert_arrays_eq!(patch_values, expected_values);
338341
}
339342

340343
#[test]
@@ -348,12 +351,15 @@ mod tests {
348351
let patches = encoded.patches().unwrap();
349352

350353
let chunk_offsets = patches.chunk_offsets().clone().unwrap().to_primitive();
351-
assert_eq!(chunk_offsets.as_slice::<u64>(), &[0]);
354+
let expected_offsets = PrimitiveArray::from_iter(vec![0u64]);
355+
assert_arrays_eq!(chunk_offsets, expected_offsets);
352356

353357
let patch_indices = patches.indices().to_primitive();
354-
assert_eq!(patch_indices.as_slice::<u64>(), &[0, 100]);
358+
let expected_indices = PrimitiveArray::from_iter(vec![0u64, 100]);
359+
assert_arrays_eq!(patch_indices, expected_indices);
355360

356361
let patch_values = patches.values().to_primitive();
357-
assert_eq!(patch_values.as_slice::<f64>(), &[PI, E]);
362+
let expected_values = PrimitiveArray::from_iter(vec![PI, E]);
363+
assert_arrays_eq!(patch_values, expected_values);
358364
}
359365
}

encodings/alp/src/alp/compute/cast.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ register_kernel!(CastKernelAdapter(ALPVTable).lift());
4545
#[cfg(test)]
4646
mod tests {
4747
use rstest::rstest;
48-
use vortex_array::IntoArray;
4948
use vortex_array::arrays::PrimitiveArray;
5049
use vortex_array::compute::cast;
5150
use vortex_array::compute::conformance::cast::test_cast_conformance;
51+
use vortex_array::{IntoArray, assert_arrays_eq};
5252
use vortex_buffer::buffer;
5353
use vortex_dtype::{DType, Nullability, PType};
5454

@@ -98,7 +98,7 @@ mod tests {
9898
);
9999

100100
let decoded = casted.to_canonical().into_primitive();
101-
assert_eq!(decoded.as_slice::<i32>(), &[1i32, 2, 3, 4]);
101+
assert_arrays_eq!(decoded, PrimitiveArray::from_iter([1i32, 2, 3, 4]));
102102
}
103103

104104
#[rstest]

encodings/alp/src/alp_rd/array.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,8 @@ impl CanonicalVTable<ALPRDVTable> for ALPRDVTable {
265265
#[cfg(test)]
266266
mod test {
267267
use rstest::rstest;
268-
use vortex_array::ToCanonical;
269268
use vortex_array::arrays::PrimitiveArray;
269+
use vortex_array::{ToCanonical, assert_arrays_eq};
270270

271271
use crate::{ALPRDFloat, alp_rd};
272272

@@ -294,7 +294,6 @@ mod test {
294294

295295
let decoded = rd_array.to_primitive();
296296

297-
let maybe_null_reals: Vec<T> = reals.into_iter().map(|v| v.unwrap_or_default()).collect();
298-
assert_eq!(decoded.as_slice::<T>(), &maybe_null_reals);
297+
assert_arrays_eq!(decoded, PrimitiveArray::from_option_iter(reals));
299298
}
300299
}

encodings/alp/src/alp_rd/compute/filter.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ mod test {
3737
use vortex_array::compute::conformance::filter::test_filter_conformance;
3838
use vortex_array::compute::filter;
3939
use vortex_array::validity::Validity;
40-
use vortex_array::{IntoArray, ToCanonical};
40+
use vortex_array::{IntoArray, ToCanonical, assert_arrays_eq};
4141
use vortex_buffer::buffer;
4242
use vortex_mask::Mask;
4343

@@ -57,7 +57,7 @@ mod test {
5757
let filtered = filter(encoded.as_ref(), &Mask::from_iter([true, false, true]))
5858
.unwrap()
5959
.to_primitive();
60-
assert_eq!(filtered.as_slice::<T>(), &[a, outlier]);
60+
assert_arrays_eq!(filtered, PrimitiveArray::from_iter([a, outlier]));
6161
}
6262

6363
#[rstest]

encodings/alp/src/alp_rd/compute/take.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ register_kernel!(TakeKernelAdapter(ALPRDVTable).lift());
4848
#[cfg(test)]
4949
mod test {
5050
use rstest::rstest;
51-
use vortex_array::ToCanonical;
5251
use vortex_array::arrays::PrimitiveArray;
5352
use vortex_array::compute::conformance::take::test_take_conformance;
5453
use vortex_array::compute::take;
54+
use vortex_array::{ToCanonical, assert_arrays_eq};
5555

5656
use crate::{ALPRDFloat, RDEncoder};
5757

@@ -78,7 +78,7 @@ mod test {
7878
.unwrap()
7979
.to_primitive();
8080

81-
assert_eq!(taken.as_slice::<T>(), &[a, outlier]);
81+
assert_arrays_eq!(taken, PrimitiveArray::from_iter([a, outlier]));
8282
}
8383

8484
#[rstest]
@@ -104,9 +104,10 @@ mod test {
104104
.unwrap()
105105
.to_primitive();
106106

107-
assert_eq!(taken.as_slice::<T>()[0], a);
108-
assert_eq!(taken.as_slice::<T>()[1], outlier);
109-
assert!(!taken.validity_mask().value(2));
107+
assert_arrays_eq!(
108+
taken,
109+
PrimitiveArray::from_option_iter([Some(a), Some(outlier), None])
110+
);
110111
}
111112

112113
#[rstest]

encodings/bytebool/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@ vortex-mask = { workspace = true }
2626
vortex-scalar = { workspace = true }
2727

2828
[dev-dependencies]
29+
itertools = { workspace = true }
2930
rstest = { workspace = true }
3031
vortex-array = { workspace = true, features = ["test-harness"] }

encodings/bytebool/src/compute.rs

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ register_kernel!(TakeKernelAdapter(ByteBoolVTable).lift());
7474
#[cfg(test)]
7575
mod tests {
7676
use rstest::rstest;
77+
use vortex_array::assert_arrays_eq;
7778
use vortex_array::compute::conformance::filter::test_filter_conformance;
7879
use vortex_array::compute::conformance::mask::test_mask_conformance;
7980
use vortex_array::compute::conformance::take::test_take_conformance;
@@ -87,18 +88,9 @@ mod tests {
8788
let vortex_arr = ByteBoolArray::from(original);
8889

8990
let sliced_arr = vortex_arr.slice(1..4);
90-
let sliced_arr = sliced_arr.as_::<ByteBoolVTable>();
9191

92-
let s = sliced_arr.scalar_at(0);
93-
assert_eq!(s.as_bool().value(), Some(true));
94-
95-
let s = sliced_arr.scalar_at(1);
96-
assert!(!sliced_arr.is_valid(1));
97-
assert!(s.is_null());
98-
assert_eq!(s.as_bool().value(), None);
99-
100-
let s = sliced_arr.scalar_at(2);
101-
assert_eq!(s.as_bool().value(), Some(false));
92+
let expected = ByteBoolArray::from(vec![Some(true), None, Some(false)]);
93+
assert_arrays_eq!(sliced_arr, expected.to_array());
10294
}
10395

10496
#[test]
@@ -108,11 +100,8 @@ mod tests {
108100

109101
let arr = compare(lhs.as_ref(), rhs.as_ref(), Operator::Eq).unwrap();
110102

111-
for i in 0..arr.len() {
112-
let s = arr.scalar_at(i);
113-
assert!(s.is_valid());
114-
assert_eq!(s.as_bool().value(), Some(true));
115-
}
103+
let expected = ByteBoolArray::from(vec![true; 5]);
104+
assert_arrays_eq!(arr, expected.to_array());
116105
}
117106

118107
#[test]
@@ -122,11 +111,8 @@ mod tests {
122111

123112
let arr = compare(lhs.as_ref(), rhs.as_ref(), Operator::Eq).unwrap();
124113

125-
for i in 0..arr.len() {
126-
let s = arr.scalar_at(i);
127-
assert!(s.is_valid());
128-
assert_eq!(s.as_bool().value(), Some(false));
129-
}
114+
let expected = ByteBoolArray::from(vec![false; 5]);
115+
assert_arrays_eq!(arr, expected.to_array());
130116
}
131117

132118
#[test]
@@ -136,18 +122,9 @@ mod tests {
136122

137123
let arr = compare(lhs.as_ref(), rhs.as_ref(), Operator::Eq).unwrap();
138124

139-
for i in 0..3 {
140-
let s = arr.scalar_at(i);
141-
assert!(s.is_valid());
142-
assert_eq!(s.as_bool().value(), Some(true));
143-
}
144-
145-
let s = arr.scalar_at(3);
146-
assert!(s.is_valid());
147-
assert_eq!(s.as_bool().value(), Some(false));
148-
149-
let s = arr.scalar_at(4);
150-
assert!(s.is_null());
125+
let expected =
126+
ByteBoolArray::from(vec![Some(true), Some(true), Some(true), Some(false), None]);
127+
assert_arrays_eq!(arr, expected.to_array());
151128
}
152129

153130
#[test]

0 commit comments

Comments
 (0)