[core] Fix the coordinate tests
Use symbols instead of magic numbers.
This commit is contained in:
parent
b229049e27
commit
cd3efa61c9
1 changed files with 26 additions and 20 deletions
|
@ -433,7 +433,7 @@ impl From<File> for char {
|
|||
|
||||
impl From<Rank> for char {
|
||||
fn from(value: Rank) -> Self {
|
||||
Self::from(value.0)
|
||||
Self::from(value.0 + b'1')
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -473,41 +473,39 @@ mod tests {
|
|||
#[test]
|
||||
fn good_algebraic_input() -> Result<(), ParseSquareError> {
|
||||
let sq = Square::from_algebraic_str("a4")?;
|
||||
assert_eq!(sq.file(), File(0));
|
||||
assert_eq!(sq.rank(), Rank(3));
|
||||
assert_eq!(sq.file(), File::A);
|
||||
assert_eq!(sq.rank(), Rank::FOUR);
|
||||
|
||||
let sq = Square::from_algebraic_str("B8")?;
|
||||
assert_eq!(sq.file(), File(1));
|
||||
assert_eq!(sq.rank(), Rank(7));
|
||||
assert_eq!(sq.file(), File::B);
|
||||
assert_eq!(sq.rank(), Rank::EIGHT);
|
||||
|
||||
let sq = Square::from_algebraic_str("e4")?;
|
||||
assert_eq!(sq.file(), File(4));
|
||||
assert_eq!(sq.rank(), Rank(3));
|
||||
assert_eq!(sq.file(), File::E);
|
||||
assert_eq!(sq.rank(), Rank::FOUR);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn bad_algebraic_input() -> Result<(), ParseSquareError> {
|
||||
Square::from_algebraic_str("a0")?;
|
||||
Square::from_algebraic_str("j3")?;
|
||||
Square::from_algebraic_str("a11")?;
|
||||
Square::from_algebraic_str("b-1")?;
|
||||
Square::from_algebraic_str("a 1")?;
|
||||
Square::from_algebraic_str("")?;
|
||||
|
||||
Ok(())
|
||||
fn bad_algebraic_input() {
|
||||
assert!(Square::from_algebraic_str("a0").is_err());
|
||||
assert!(Square::from_algebraic_str("j3").is_err());
|
||||
assert!(Square::from_algebraic_str("a11").is_err());
|
||||
assert!(Square::from_algebraic_str("b-1").is_err());
|
||||
assert!(Square::from_algebraic_str("a 1").is_err());
|
||||
assert!(Square::from_algebraic_str("").is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn from_index() -> Result<(), ()> {
|
||||
let sq = Square::try_from(4u32)?;
|
||||
assert_eq!(sq.file(), File(4));
|
||||
assert_eq!(sq.rank(), Rank(0));
|
||||
assert_eq!(sq.file(), File::E);
|
||||
assert_eq!(sq.rank(), Rank::ONE);
|
||||
|
||||
let sq = Square::try_from(28u32)?;
|
||||
assert_eq!(sq.file(), File(4));
|
||||
assert_eq!(sq.rank(), Rank(3));
|
||||
assert_eq!(sq.file(), File::E);
|
||||
assert_eq!(sq.rank(), Rank::FOUR);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
@ -560,5 +558,13 @@ mod tests {
|
|||
assert_eq!(format!("{}", Square::C5), "c5");
|
||||
assert_eq!(format!("{}", Square::A1), "a1");
|
||||
assert_eq!(format!("{}", Square::H8), "h8");
|
||||
assert_eq!(format!("{}", Rank::FIVE), "5");
|
||||
assert_eq!(format!("{}", File::H), "h");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn into_char() {
|
||||
assert_eq!(Into::<char>::into(Rank::ONE), '1');
|
||||
assert_eq!(Into::<char>::into(File::B), 'b');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue