Fix grid init
This commit is contained in:
parent
21f84fc468
commit
fc2120719b
1 changed files with 11 additions and 4 deletions
15
src/lib.rs
15
src/lib.rs
|
@ -26,7 +26,7 @@ macro_rules! grid {
|
||||||
let vec = vec![$($x),*];
|
let vec = vec![$($x),*];
|
||||||
Grid { rows : 1, cols: vec.len(), data: vec }
|
Grid { rows : 1, cols: vec.len(), data: vec }
|
||||||
} };
|
} };
|
||||||
( [$( $x0:expr ),*] $($( $x:expr ),*);* ) => {
|
( [$( $x0:expr ),*] $([$( $x:expr ),*])* ) => {
|
||||||
{
|
{
|
||||||
let mut _assert_width0 = [(); count!($($x0)*)];
|
let mut _assert_width0 = [(); count!($($x0)*)];
|
||||||
let mut vec = Vec::new();
|
let mut vec = Vec::new();
|
||||||
|
@ -126,8 +126,7 @@ mod test {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn macro_init() {
|
fn macro_init() {
|
||||||
//TODO let grid = grid![[1, 2, 3][4, 5, 6]];
|
let grid = grid![[1, 2, 3][4, 5, 6]];
|
||||||
let grid = grid![[1,2,3]4,5,6];
|
|
||||||
assert_eq!(grid[0][0], 1);
|
assert_eq!(grid[0][0], 1);
|
||||||
assert_eq!(grid[0][1], 2);
|
assert_eq!(grid[0][1], 2);
|
||||||
assert_eq!(grid[0][2], 3);
|
assert_eq!(grid[0][2], 3);
|
||||||
|
@ -136,10 +135,18 @@ mod test {
|
||||||
assert_eq!(grid[1][2], 6);
|
assert_eq!(grid[1][2], 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn macro_init_2() {
|
||||||
|
let grid = grid![[1, 2, 3]
|
||||||
|
[4, 5, 6]
|
||||||
|
[7,8,9]];
|
||||||
|
assert_eq!(grid.size(), (3, 3))
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn macro_one_row() {
|
fn macro_one_row() {
|
||||||
let grid: Grid<usize> = grid![[1, 2, 3, 4]];
|
let grid: Grid<usize> = grid![[1, 2, 3, 4]];
|
||||||
assert_eq!(grid.size(), (1, 0));
|
assert_eq!(grid.size(), (1, 4));
|
||||||
assert_eq!(grid[0][0], 1);
|
assert_eq!(grid[0][0], 1);
|
||||||
assert_eq!(grid[0][1], 2);
|
assert_eq!(grid[0][1], 2);
|
||||||
assert_eq!(grid[0][2], 3);
|
assert_eq!(grid[0][2], 3);
|
||||||
|
|
Loading…
Reference in a new issue