From 733745ef30497886097d0fb55b5588ac25de69aa Mon Sep 17 00:00:00 2001 From: LinlyBoi Date: Mon, 1 May 2023 23:19:39 +0300 Subject: [PATCH] all tests for possible scores --- src/gamedata/tests.rs | 133 +++++++++++++++++++++++++++--------------- 1 file changed, 86 insertions(+), 47 deletions(-) diff --git a/src/gamedata/tests.rs b/src/gamedata/tests.rs index 1686e2b..5118891 100644 --- a/src/gamedata/tests.rs +++ b/src/gamedata/tests.rs @@ -13,69 +13,69 @@ use super::Disk; #[test] fn play() { let mut board = Board::default(); - assert!(board.play(Disk::BLUE, 0)); - assert!(board.play(Disk::BLUE, 0)); - assert!(board.play(Disk::BLUE, 0)); - assert!(board.play(Disk::BLUE, 0)); - assert!(board.play(Disk::BLUE, 0)); - assert!(board.play(Disk::BLUE, 0)); - assert!(board.play(Disk::BLUE, 0)); - assert!(!board.play(Disk::BLUE, 0)); + assert!(board.play(Disk::BLU, 0)); + assert!(board.play(Disk::BLU, 0)); + assert!(board.play(Disk::BLU, 0)); + assert!(board.play(Disk::BLU, 0)); + assert!(board.play(Disk::BLU, 0)); + assert!(board.play(Disk::BLU, 0)); + assert!(board.play(Disk::BLU, 0)); + assert!(!board.play(Disk::BLU, 0)); - assert!(board.play(Disk::BLUE, 1)); - assert!(board.play(Disk::BLUE, 1)); - assert!(board.play(Disk::BLUE, 1)); - assert!(board.play(Disk::BLUE, 1)); - assert!(board.play(Disk::BLUE, 1)); - assert!(board.play(Disk::BLUE, 1)); - assert!(board.play(Disk::BLUE, 1)); - assert!(!board.play(Disk::BLUE, 1)); + assert!(board.play(Disk::BLU, 1)); + assert!(board.play(Disk::BLU, 1)); + assert!(board.play(Disk::BLU, 1)); + assert!(board.play(Disk::BLU, 1)); + assert!(board.play(Disk::BLU, 1)); + assert!(board.play(Disk::BLU, 1)); + assert!(board.play(Disk::BLU, 1)); + assert!(!board.play(Disk::BLU, 1)); - assert!(board.play(Disk::BLUE, 2)); - assert!(board.play(Disk::BLUE, 2)); - assert!(board.play(Disk::BLUE, 2)); - assert!(board.play(Disk::BLUE, 2)); - assert!(board.play(Disk::BLUE, 2)); - assert!(board.play(Disk::BLUE, 2)); - assert!(board.play(Disk::BLUE, 2)); - assert!(!board.play(Disk::BLUE, 2)); + assert!(board.play(Disk::BLU, 2)); + assert!(board.play(Disk::BLU, 2)); + assert!(board.play(Disk::BLU, 2)); + assert!(board.play(Disk::BLU, 2)); + assert!(board.play(Disk::BLU, 2)); + assert!(board.play(Disk::BLU, 2)); + assert!(board.play(Disk::BLU, 2)); + assert!(!board.play(Disk::BLU, 2)); - assert!(board.play(Disk::BLUE, 3)); - assert!(board.play(Disk::BLUE, 3)); - assert!(board.play(Disk::BLUE, 3)); - assert!(board.play(Disk::BLUE, 3)); - assert!(board.play(Disk::BLUE, 3)); - assert!(board.play(Disk::BLUE, 3)); - assert!(board.play(Disk::BLUE, 3)); - assert!(!board.play(Disk::BLUE, 3)); + assert!(board.play(Disk::BLU, 3)); + assert!(board.play(Disk::BLU, 3)); + assert!(board.play(Disk::BLU, 3)); + assert!(board.play(Disk::BLU, 3)); + assert!(board.play(Disk::BLU, 3)); + assert!(board.play(Disk::BLU, 3)); + assert!(board.play(Disk::BLU, 3)); + assert!(!board.play(Disk::BLU, 3)); } #[test] fn one_direction_updown() { let mut board = Board::default(); - board.play(Disk::BLUE, 0); - board.play(Disk::BLUE, 0); - board.play(Disk::BLUE, 0); - board.play(Disk::BLUE, 0); + board.play(Disk::BLU, 0); + board.play(Disk::BLU, 0); + board.play(Disk::BLU, 0); + board.play(Disk::BLU, 0); assert_eq!(1, one_direction(&board.columns, &(3, 0), Direction::DOWN)); } #[test] fn one_direction_updown2() { let mut board = Board::default(); - board.play(Disk::BLUE, 0); + board.play(Disk::BLU, 0); board.play(Disk::RED, 0); - board.play(Disk::BLUE, 0); - board.play(Disk::BLUE, 0); + board.play(Disk::BLU, 0); + board.play(Disk::BLU, 0); assert_eq!(0, one_direction(&board.columns, &(3, 0), Direction::DOWN)); } #[test] fn one_direction_forwardback() { let mut board = Board::default(); - board.play(Disk::BLUE, 0); - board.play(Disk::BLUE, 1); - board.play(Disk::BLUE, 2); - board.play(Disk::BLUE, 3); + board.play(Disk::BLU, 0); + board.play(Disk::BLU, 1); + board.play(Disk::BLU, 2); + board.play(Disk::BLU, 3); - assert!(!matches!(Disk::RED, Disk::BLUE)); + assert!(!matches!(Disk::RED, Disk::BLU)); assert_eq!( 1, one_direction(&board.columns, &(0, 0), Direction::FORWARD) @@ -88,9 +88,9 @@ fn one_direction_forwardback() { #[test] fn one_direction_forwardback2() { let mut board = Board::default(); - board.play(Disk::BLUE, 0); - board.play(Disk::BLUE, 1); - board.play(Disk::BLUE, 3); + board.play(Disk::BLU, 0); + board.play(Disk::BLU, 1); + board.play(Disk::BLU, 3); board.play(Disk::RED, 2); assert_eq!( 0, @@ -101,3 +101,42 @@ fn one_direction_forwardback2() { one_direction(&board.columns, &(0, 3), Direction::BACKWARD) ); } +#[test] +fn one_direction_diag1() { + let mut board = Board::default(); + board.play(Disk::BLU, 0); + board.play(Disk::RED, 1); + board.play(Disk::BLU, 1); + board.play(Disk::RED, 2); + board.play(Disk::RED, 2); + board.play(Disk::BLU, 2); + board.play(Disk::RED, 3); + board.play(Disk::RED, 3); + board.play(Disk::RED, 3); + board.play(Disk::BLU, 3); + assert_eq!(1, one_direction(&board.columns, &(0, 0), Direction::UPFORW)); + assert_eq!( + 1, + one_direction(&board.columns, &(3, 3), Direction::DOWNBACK) + ); +} +#[test] +fn one_direction_diag2() { + let mut board = Board::default(); + board.play(Disk::BLU, 3); + board.play(Disk::RED, 2); + board.play(Disk::BLU, 2); + board.play(Disk::RED, 1); + board.play(Disk::RED, 1); + board.play(Disk::BLU, 1); + board.play(Disk::RED, 0); + board.play(Disk::RED, 0); + board.play(Disk::RED, 0); + board.play(Disk::BLU, 0); + dbg!(&board.columns.as_columns()); + assert_eq!(1, one_direction(&board.columns, &(0, 3), Direction::UPBACK)); + assert_eq!( + 1, + one_direction(&board.columns, &(3, 0), Direction::DOWNFORW) + ); +}