Skip to content

Commit

Permalink
Use .column in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
judahrand committed Sep 22, 2023
1 parent 4f27cbb commit 59008f8
Showing 1 changed file with 141 additions and 0 deletions.
141 changes: 141 additions & 0 deletions arrow-row/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1414,6 +1414,18 @@ mod tests {
let rows = converter.convert_columns(&cols).unwrap();

assert_eq!(rows.offsets, &[0, 8, 16, 24, 32, 40, 48, 56]);
assert_eq!(
rows.column_offsets,
&[
[0, 3, 8],
[0, 3, 8],
[0, 3, 8],
[0, 3, 8],
[0, 3, 8],
[0, 3, 8],
[0, 3, 8],
]
);
assert_eq!(
rows.buffer,
&[
Expand All @@ -1440,6 +1452,18 @@ mod tests {
assert!(rows.row(4) < rows.row(1));
assert!(rows.row(5) < rows.row(4));

assert!(rows.row(3).column(0) < rows.row(6).column(0));
assert!(rows.row(0).column(0) < rows.row(1).column(0));
assert!(rows.row(3).column(0) < rows.row(0).column(0));
assert!(rows.row(4).column(0) == rows.row(1).column(0));
assert!(rows.row(5).column(0) == rows.row(4).column(0));

assert!(rows.row(3).column(1) > rows.row(6).column(1));
assert!(rows.row(0).column(1) < rows.row(1).column(1));
assert!(rows.row(3).column(1) > rows.row(0).column(1));
assert!(rows.row(4).column(1) < rows.row(1).column(1));
assert!(rows.row(5).column(1) < rows.row(4).column(1));

let back = converter.convert_rows(&rows).unwrap();
for (expected, actual) in cols.iter().zip(&back) {
assert_eq!(expected, actual);
Expand Down Expand Up @@ -1469,6 +1493,7 @@ mod tests {
let rows = converter.convert_columns(&[Arc::clone(&col)]).unwrap();
for i in 0..rows.num_rows() - 1 {
assert!(rows.row(i) < rows.row(i + 1));
assert!(rows.row(i).column(0) < rows.row(i + 1).column(0));
}

let back = converter.convert_rows(&rows).unwrap();
Expand Down Expand Up @@ -1501,6 +1526,7 @@ mod tests {
let rows = converter.convert_columns(&[Arc::clone(&col)]).unwrap();
for i in 0..rows.num_rows() - 1 {
assert!(rows.row(i) < rows.row(i + 1));
assert!(rows.row(i).column(0) < rows.row(i + 1).column(0));
}

let back = converter.convert_rows(&rows).unwrap();
Expand All @@ -1521,6 +1547,10 @@ mod tests {
assert!(rows.row(2) > rows.row(0));
assert!(rows.row(1) > rows.row(0));

assert!(rows.row(2).column(0) > rows.row(1).column(0));
assert!(rows.row(2).column(0) > rows.row(0).column(0));
assert!(rows.row(1).column(0) > rows.row(0).column(0));

let cols = converter.convert_rows(&rows).unwrap();
assert_eq!(&cols[0], &col);

Expand All @@ -1537,6 +1567,9 @@ mod tests {
assert!(rows.row(2) < rows.row(1));
assert!(rows.row(2) < rows.row(0));
assert!(rows.row(1) < rows.row(0));
assert!(rows.row(2).column(0) < rows.row(1).column(0));
assert!(rows.row(2).column(0) < rows.row(0).column(0));
assert!(rows.row(1).column(0) < rows.row(0).column(0));
let cols = converter.convert_rows(&rows).unwrap();
assert_eq!(&cols[0], &col);
}
Expand Down Expand Up @@ -1585,6 +1618,7 @@ mod tests {
let rows = converter.convert_columns(&[col]).unwrap();
assert_eq!(rows.num_rows(), 10);
assert_eq!(rows.row(1).data.len(), 0);
assert_eq!(rows.row(1).column(0).len(), 0);
}

#[test]
Expand All @@ -1605,6 +1639,11 @@ mod tests {
assert!(rows.row(3) < rows.row(0));
assert!(rows.row(3) < rows.row(1));

assert!(rows.row(1).column(0) < rows.row(0).column(0));
assert!(rows.row(2).column(0) < rows.row(4).column(0));
assert!(rows.row(3).column(0) < rows.row(0).column(0));
assert!(rows.row(3).column(0) < rows.row(1).column(0));

let cols = converter.convert_rows(&rows).unwrap();
assert_eq!(&cols[0], &col);

Expand Down Expand Up @@ -1642,6 +1681,14 @@ mod tests {
rows.row(i),
rows.row(j)
);
assert!(
rows.row(i).column(0) < rows.row(j).column(0),
"{} < {} - {:?} < {:?}",
i,
j,
rows.row(i).column(0),
rows.row(j).column(0)
);
}
}

Expand All @@ -1668,6 +1715,14 @@ mod tests {
rows.row(i),
rows.row(j)
);
assert!(
rows.row(i).column(0) > rows.row(j).column(0),
"{} < {} - {:?} < {:?}",
i,
j,
rows.row(i).column(0),
rows.row(j).column(0)
);
}
}

Expand Down Expand Up @@ -1713,6 +1768,15 @@ mod tests {
assert_eq!(rows_a.row(1), rows_a.row(6));
assert_eq!(rows_a.row(1), rows_a.row(7));

assert!(rows_a.row(3).column(0) < rows_a.row(5).column(0));
assert!(rows_a.row(2).column(0) < rows_a.row(1).column(0));
assert!(rows_a.row(0).column(0) < rows_a.row(1).column(0));
assert!(rows_a.row(3).column(0) < rows_a.row(0).column(0));

assert_eq!(rows_a.row(1).column(0), rows_a.row(4).column(0));
assert_eq!(rows_a.row(1).column(0), rows_a.row(6).column(0));
assert_eq!(rows_a.row(1).column(0), rows_a.row(7).column(0));

let cols = converter.convert_rows(&rows_a).unwrap();
dictionary_eq(&cols[0], &a);

Expand All @@ -1727,6 +1791,10 @@ mod tests {
assert_eq!(rows_a.row(3), rows_b.row(1));
assert!(rows_b.row(2) < rows_a.row(0));

assert_eq!(rows_a.row(1).column(0), rows_b.row(0).column(0));
assert_eq!(rows_a.row(3).column(0), rows_b.row(1).column(0));
assert!(rows_b.row(2).column(0) < rows_a.row(0).column(0));

let cols = converter.convert_rows(&rows_b).unwrap();
dictionary_eq(&cols[0], &b);

Expand All @@ -1745,6 +1813,11 @@ mod tests {
assert!(rows_c.row(0) > rows_c.row(1));
assert!(rows_c.row(3) > rows_c.row(0));

assert!(rows_c.row(3).column(0) > rows_c.row(5).column(0));
assert!(rows_c.row(2).column(0) > rows_c.row(1).column(0));
assert!(rows_c.row(0).column(0) > rows_c.row(1).column(0));
assert!(rows_c.row(3).column(0) > rows_c.row(0).column(0));

let cols = converter.convert_rows(&rows_c).unwrap();
dictionary_eq(&cols[0], &a);

Expand All @@ -1763,6 +1836,11 @@ mod tests {
assert!(rows_c.row(0) > rows_c.row(1));
assert!(rows_c.row(3) < rows_c.row(0));

assert!(rows_c.row(3).column(0) < rows_c.row(5).column(0));
assert!(rows_c.row(2).column(0) > rows_c.row(1).column(0));
assert!(rows_c.row(0).column(0) > rows_c.row(1).column(0));
assert!(rows_c.row(3).column(0) < rows_c.row(0).column(0));

let cols = converter.convert_rows(&rows_c).unwrap();
dictionary_eq(&cols[0], &a);
}
Expand All @@ -1782,6 +1860,7 @@ mod tests {

for (a, b) in r1.iter().zip(r1.iter().skip(1)) {
assert!(a < b);
assert!(a.column(0) < b.column(0));
}

let back = converter.convert_rows(&r1).unwrap();
Expand All @@ -1804,6 +1883,11 @@ mod tests {
assert_ne!(r1.row(0), r2.row(0)); // Value does not equal null
assert_eq!(r1.row(1), r2.row(1)); // Values equal

assert_eq!(r2.row(0).column(0), r2.row(2).column(0)); // Nulls equal
assert!(r2.row(0).column(0) < r2.row(1).column(0)); // Nulls first
assert_ne!(r1.row(0).column(0), r2.row(0).column(0)); // Value does not equal null
assert_eq!(r1.row(1).column(0), r2.row(1).column(0)); // Values equal

let back = converter.convert_rows(&r2).unwrap();
assert_eq!(back.len(), 1);
assert_eq!(&back[0], &s2);
Expand Down Expand Up @@ -1834,6 +1918,12 @@ mod tests {
assert!(rows.row(3) < rows.row(2));
assert!(rows.row(6) < rows.row(2));
assert!(rows.row(3) < rows.row(6));

assert!(rows.row(0).column(0) < rows.row(1).column(0));
assert!(rows.row(2).column(0) < rows.row(0).column(0));
assert!(rows.row(3).column(0) < rows.row(2).column(0));
assert!(rows.row(6).column(0) < rows.row(2).column(0));
assert!(rows.row(3).column(0) < rows.row(6).column(0));
}

#[test]
Expand Down Expand Up @@ -1862,6 +1952,11 @@ mod tests {
assert_eq!(rows.row(3), rows.row(4));
assert_eq!(rows.row(4), rows.row(5));
assert!(rows.row(3) < rows.row(0));

assert_eq!(rows.row(0).column(0), rows.row(1).column(0));
assert_eq!(rows.row(3).column(0), rows.row(4).column(0));
assert_eq!(rows.row(4).column(0), rows.row(5).column(0));
assert!(rows.row(3).column(0) < rows.row(0).column(0));
}

#[test]
Expand Down Expand Up @@ -1925,6 +2020,13 @@ mod tests {
assert!(rows.row(5) < rows.row(2)); // [] < [32, 42]
assert!(rows.row(3) < rows.row(5)); // null < []

assert!(rows.row(0).column(0) > rows.row(1).column(0)); // [32, 52, 32] > [32, 52, 12]
assert!(rows.row(2).column(0) < rows.row(1).column(0)); // [32, 42] < [32, 52, 12]
assert!(rows.row(3).column(0) < rows.row(2).column(0)); // null < [32, 42]
assert!(rows.row(4).column(0) < rows.row(2).column(0)); // [32, null] < [32, 42]
assert!(rows.row(5).column(0) < rows.row(2).column(0)); // [] < [32, 42]
assert!(rows.row(3).column(0) < rows.row(5).column(0)); // null < []

let back = converter.convert_rows(&rows).unwrap();
assert_eq!(back.len(), 1);
back[0].to_data().validate_full().unwrap();
Expand All @@ -1945,6 +2047,13 @@ mod tests {
assert!(rows.row(5) < rows.row(2)); // [] < [32, 42]
assert!(rows.row(3) > rows.row(5)); // null > []

assert!(rows.row(0).column(0) > rows.row(1).column(0)); // [32, 52, 32] > [32, 52, 12]
assert!(rows.row(2).column(0) < rows.row(1).column(0)); // [32, 42] < [32, 52, 12]
assert!(rows.row(3).column(0) > rows.row(2).column(0)); // null > [32, 42]
assert!(rows.row(4).column(0) > rows.row(2).column(0)); // [32, null] > [32, 42]
assert!(rows.row(5).column(0) < rows.row(2).column(0)); // [] < [32, 42]
assert!(rows.row(3).column(0) > rows.row(5).column(0)); // null > []

let back = converter.convert_rows(&rows).unwrap();
assert_eq!(back.len(), 1);
back[0].to_data().validate_full().unwrap();
Expand All @@ -1965,6 +2074,13 @@ mod tests {
assert!(rows.row(5) > rows.row(2)); // [] > [32, 42]
assert!(rows.row(3) > rows.row(5)); // null > []

assert!(rows.row(0).column(0) < rows.row(1).column(0)); // [32, 52, 32] < [32, 52, 12]
assert!(rows.row(2).column(0) > rows.row(1).column(0)); // [32, 42] > [32, 52, 12]
assert!(rows.row(3).column(0) > rows.row(2).column(0)); // null > [32, 42]
assert!(rows.row(4).column(0) > rows.row(2).column(0)); // [32, null] > [32, 42]
assert!(rows.row(5).column(0) > rows.row(2).column(0)); // [] > [32, 42]
assert!(rows.row(3).column(0) > rows.row(5).column(0)); // null > []

let back = converter.convert_rows(&rows).unwrap();
assert_eq!(back.len(), 1);
back[0].to_data().validate_full().unwrap();
Expand All @@ -1985,6 +2101,13 @@ mod tests {
assert!(rows.row(5) > rows.row(2)); // [] > [32, 42]
assert!(rows.row(3) < rows.row(5)); // null < []

assert!(rows.row(0).column(0) < rows.row(1).column(0)); // [32, 52, 32] < [32, 52, 12]
assert!(rows.row(2).column(0) > rows.row(1).column(0)); // [32, 42] > [32, 52, 12]
assert!(rows.row(3).column(0) < rows.row(2).column(0)); // null < [32, 42]
assert!(rows.row(4).column(0) < rows.row(2).column(0)); // [32, null] < [32, 42]
assert!(rows.row(5).column(0) > rows.row(2).column(0)); // [] > [32, 42]
assert!(rows.row(3).column(0) < rows.row(5).column(0)); // null < []

let back = converter.convert_rows(&rows).unwrap();
assert_eq!(back.len(), 1);
back[0].to_data().validate_full().unwrap();
Expand Down Expand Up @@ -2048,6 +2171,12 @@ mod tests {
assert!(rows.row(4) < rows.row(0));
assert!(rows.row(4) > rows.row(1));

assert!(rows.row(0).column(0) > rows.row(1).column(0));
assert!(rows.row(1).column(0) > rows.row(2).column(0));
assert!(rows.row(2).column(0) > rows.row(3).column(0));
assert!(rows.row(4).column(0) < rows.row(0).column(0));
assert!(rows.row(4).column(0) > rows.row(1).column(0));

let back = converter.convert_rows(&rows).unwrap();
assert_eq!(back.len(), 1);
back[0].to_data().validate_full().unwrap();
Expand All @@ -2067,6 +2196,12 @@ mod tests {
assert!(rows.row(4) > rows.row(0));
assert!(rows.row(4) > rows.row(1));

assert!(rows.row(0).column(0) > rows.row(1).column(0));
assert!(rows.row(1).column(0) > rows.row(2).column(0));
assert!(rows.row(2).column(0) > rows.row(3).column(0));
assert!(rows.row(4).column(0) > rows.row(0).column(0));
assert!(rows.row(4).column(0) > rows.row(1).column(0));

let back = converter.convert_rows(&rows).unwrap();
assert_eq!(back.len(), 1);
back[0].to_data().validate_full().unwrap();
Expand All @@ -2086,6 +2221,12 @@ mod tests {
assert!(rows.row(4) > rows.row(0));
assert!(rows.row(4) < rows.row(1));

assert!(rows.row(0).column(0) < rows.row(1).column(0));
assert!(rows.row(1).column(0) < rows.row(2).column(0));
assert!(rows.row(2).column(0) < rows.row(3).column(0));
assert!(rows.row(4).column(0) > rows.row(0).column(0));
assert!(rows.row(4).column(0) < rows.row(1).column(0));

let back = converter.convert_rows(&rows).unwrap();
assert_eq!(back.len(), 1);
back[0].to_data().validate_full().unwrap();
Expand Down

0 comments on commit 59008f8

Please sign in to comment.