[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