2022-08-18 21:43:05 +08:00
|
|
|
use crate::grid::group_test::script::GridGroupTest;
|
|
|
|
use crate::grid::group_test::script::GroupScript::*;
|
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn board_init_test() {
|
|
|
|
let mut test = GridGroupTest::new().await;
|
|
|
|
let scripts = vec![
|
|
|
|
AssertGroupCount(3),
|
|
|
|
AssertGroup {
|
|
|
|
group_index: 0,
|
|
|
|
row_count: 2,
|
|
|
|
},
|
|
|
|
AssertGroup {
|
|
|
|
group_index: 1,
|
|
|
|
row_count: 2,
|
|
|
|
},
|
|
|
|
AssertGroup {
|
|
|
|
group_index: 2,
|
|
|
|
row_count: 1,
|
|
|
|
},
|
|
|
|
];
|
|
|
|
test.run_scripts(scripts).await;
|
|
|
|
}
|
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn board_move_row_test() {
|
2022-08-18 23:12:26 +08:00
|
|
|
let mut test = GridGroupTest::new().await;
|
|
|
|
let group = test.group_at_index(0).await;
|
|
|
|
let scripts = vec![
|
|
|
|
MoveRow {
|
|
|
|
from_group_index: 0,
|
|
|
|
from_row_index: 0,
|
|
|
|
to_group_index: 0,
|
|
|
|
to_row_index: 1,
|
|
|
|
},
|
|
|
|
AssertGroup {
|
|
|
|
group_index: 0,
|
|
|
|
row_count: 2,
|
|
|
|
},
|
|
|
|
AssertGroupRow {
|
|
|
|
group_index: 0,
|
|
|
|
row_index: 1,
|
|
|
|
row: group.rows.get(0).unwrap().clone(),
|
|
|
|
},
|
|
|
|
];
|
|
|
|
test.run_scripts(scripts).await;
|
|
|
|
}
|
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn board_move_row_to_other_group_test() {
|
2022-08-18 21:43:05 +08:00
|
|
|
let mut test = GridGroupTest::new().await;
|
|
|
|
let group = test.group_at_index(0).await;
|
|
|
|
let scripts = vec![
|
|
|
|
MoveRow {
|
|
|
|
from_group_index: 0,
|
|
|
|
from_row_index: 0,
|
|
|
|
to_group_index: 1,
|
|
|
|
to_row_index: 1,
|
|
|
|
},
|
|
|
|
AssertGroup {
|
|
|
|
group_index: 0,
|
|
|
|
row_count: 1,
|
|
|
|
},
|
|
|
|
AssertGroup {
|
|
|
|
group_index: 1,
|
|
|
|
row_count: 3,
|
|
|
|
},
|
|
|
|
AssertGroupRow {
|
|
|
|
group_index: 1,
|
|
|
|
row_index: 1,
|
|
|
|
row: group.rows.get(0).unwrap().clone(),
|
|
|
|
},
|
|
|
|
];
|
|
|
|
test.run_scripts(scripts).await;
|
|
|
|
}
|
2022-08-18 23:12:26 +08:00
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn board_move_row_to_other_group_and_reorder_test() {
|
|
|
|
let mut test = GridGroupTest::new().await;
|
|
|
|
let group = test.group_at_index(0).await;
|
|
|
|
let scripts = vec![
|
|
|
|
MoveRow {
|
|
|
|
from_group_index: 0,
|
|
|
|
from_row_index: 0,
|
|
|
|
to_group_index: 1,
|
|
|
|
to_row_index: 1,
|
|
|
|
},
|
|
|
|
MoveRow {
|
|
|
|
from_group_index: 1,
|
|
|
|
from_row_index: 1,
|
|
|
|
to_group_index: 1,
|
|
|
|
to_row_index: 2,
|
|
|
|
},
|
|
|
|
AssertGroupRow {
|
|
|
|
group_index: 1,
|
|
|
|
row_index: 2,
|
|
|
|
row: group.rows.get(0).unwrap().clone(),
|
|
|
|
},
|
|
|
|
];
|
|
|
|
test.run_scripts(scripts).await;
|
|
|
|
}
|