Ejemplo n.º 1
0
Archivo: fen.c Proyecto: GBuella/Taltos
static int
coor_str_to_index(const char *str, enum player turn, jmp_buf jb)
{
	if (!is_file(str[0]) || !is_rank(str[1])) longjmp(jb, 1);

	return str_to_index(str, turn);
}
Ejemplo n.º 2
0
static void
test_chars(void)
{
	assert(char_to_file('a') == file_a);
	assert(char_to_file('b') == file_b);
	assert(char_to_file('h') == file_h);
	assert(char_to_file('A') == file_a);
	assert(char_to_file('B') == file_b);
	assert(char_to_file('H') == file_h);

	assert(char_to_rank('1', white) == rank_1);
	assert(char_to_rank('2', white) == rank_2);
	assert(char_to_rank('3', white) == rank_3);
	assert(char_to_rank('4', white) == rank_4);
	assert(char_to_rank('5', white) == rank_5);
	assert(char_to_rank('8', white) == rank_8);
	assert(char_to_rank('1', black) == rank_8);
	assert(char_to_rank('2', black) == rank_7);
	assert(char_to_rank('3', black) == rank_6);
	assert(char_to_rank('4', black) == rank_5);
	assert(char_to_rank('5', black) == rank_4);
	assert(char_to_rank('8', black) == rank_1);

	assert(index_to_file_ch(0) == 'h');
	assert(index_to_file_ch(1) == 'g');
	assert(index_to_file_ch(7) == 'a');
	assert(index_to_file_ch(63) == 'a');

	assert(index_to_rank_ch(0, white) == '8');
	assert(index_to_rank_ch(1, white) == '8');
	assert(index_to_rank_ch(8 + 7, white) == '7');
	assert(index_to_rank_ch(63, white) == '1');
	assert(index_to_rank_ch(0, black) == '1');
	assert(index_to_rank_ch(1, black) == '1');
	assert(index_to_rank_ch(8 + 7, black) == '2');
	assert(index_to_rank_ch(63, black) == '8');

	assert(piece_to_char(queen) == 'q');

	assert(square_to_char(queen, white) == 'Q');
	assert(square_to_char(queen, black) == 'q');

	assert(is_file('f'));
	assert(is_file('F'));
	assert(!is_file('4'));
	assert(!is_file('i'));
	assert(!is_file(' '));

	assert(is_rank('1'));
	assert(is_rank('6'));
	assert(!is_rank('9'));
	assert(!is_rank('0'));
	assert(!is_rank('a'));
	assert(!is_rank(' '));

}