diff --git a/src/repr.rs b/src/repr.rs index 96632b0..4c71831 100644 --- a/src/repr.rs +++ b/src/repr.rs @@ -163,4 +163,50 @@ mod test { "(0, 1) was overridden even though it's an empty space" ); } + + #[test] + fn long_capture() { + let mut board = Board::new(); + + assert_eq!(board.place(0, 0, Piece::Black), Ok(())); + + for j in 1..=6 { + assert_eq!(board.place(0, j, Piece::White), Ok(())); + } + + assert_eq!(board.place(0, 7, Piece::Black), Ok(())); + + for j in 2..=6 { + assert_eq!( + board.get(0, j), + &Some(Piece::Black), + "should be black at: ({}, {})", + 0, + j + ); + } + } + + #[test] + fn long_capture_vert() { + let mut board = Board::new(); + + assert_eq!(board.place(0, 0, Piece::Black), Ok(())); + + for i in 1..=6 { + assert_eq!(board.place(i, 0, Piece::White), Ok(())); + } + + assert_eq!(board.place(7, 0, Piece::Black), Ok(())); + + for i in 2..=6 { + assert_eq!( + board.get(i, 0), + &Some(Piece::Black), + "should be black at: ({}, {})", + i, + 0 + ); + } + } }