Skip to content

Commit 5a25def

Browse files
committed
TEST: Add tests for column/row matrix layouts
These tests - w.r.t C/F preference, failed when they were introduced.
1 parent 0526467 commit 5a25def

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/layout/mod.rs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,34 @@ mod tests {
170170
}
171171
}
172172

173+
#[test]
174+
fn no_layouts() {
175+
let a = M::zeros((5, 5));
176+
let b = M::zeros((5, 5).f());
177+
178+
// 2D row/column matrixes
179+
let arow = a.slice(s![0..1, ..]);
180+
let acol = a.slice(s![.., 0..1]);
181+
let brow = b.slice(s![0..1, ..]);
182+
let bcol = b.slice(s![.., 0..1]);
183+
assert_layouts!(arow, CORDER, FORDER);
184+
assert_not_layouts!(acol, CORDER, CPREFER, FORDER, FPREFER);
185+
assert_layouts!(bcol, CORDER, FORDER);
186+
assert_not_layouts!(brow, CORDER, CPREFER, FORDER, FPREFER);
187+
188+
// 2D row/column matrixes - now made with insert axis
189+
for &axis in &[Axis(0), Axis(1)] {
190+
let arow = a.slice(s![0, ..]).insert_axis(axis);
191+
let acol = a.slice(s![.., 0]).insert_axis(axis);
192+
let brow = b.slice(s![0, ..]).insert_axis(axis);
193+
let bcol = b.slice(s![.., 0]).insert_axis(axis);
194+
assert_layouts!(arow, CORDER, FORDER);
195+
assert_not_layouts!(acol, CORDER, CPREFER, FORDER, FPREFER);
196+
assert_layouts!(bcol, CORDER, FORDER);
197+
assert_not_layouts!(brow, CORDER, CPREFER, FORDER, FPREFER);
198+
}
199+
}
200+
173201
#[test]
174202
fn skip_layouts() {
175203
let a = M::zeros((5, 5));

0 commit comments

Comments
 (0)