1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
pub mod attack;
mod chessmove;
pub mod color;
pub mod pieces;

fn legal_moves(board: [[&str; 8]; 8]) -> Vec<chessmove::ChessMove> {
    vec![chessmove::ChessMove {
        source_rank: 2,
        source_file: 2,
        target_rank: 4,
        target_file: 2,
    }]
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn legal_moves_ok() {
        let moves = [["p"; 8]; 8];
        let result = vec![chessmove::ChessMove {
            source_rank: 2,
            source_file: 2,
            target_rank: 4,
            target_file: 2,
        }];

        assert_eq!(result, legal_moves(moves));
    }
}