package rabbitescape.engine.util;
import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.*;
import static rabbitescape.engine.Tools.*;
import org.junit.Test;
public class TestWorldAssertions
{
@Test
public void Mirrored_world_has_each_line_reflected()
{
assertThat(
WorldAssertions.mirror(
"rj \n"
+ "/\\ \n"
+ "() \n"
+ "<>|?\n"
+ "[] \n"
+ "$^ \n"
+ "'! \n"
+ "-= \n"
+ "@% \n"
+ "_+ \n"
+ ",. \n"
+ "&m \n"
+ "es \n"
+ "ha \n"
+ "KW \n"
+ "IJ \n"
+ "BE \n"
+ "{} \n"
+ "~` "
),
equalTo(
" rj\n"
+ " /\\\n"
+ " ()\n"
+ "|?<>\n"
+ " []\n"
+ " $^\n"
+ " '!\n"
+ " -=\n"
+ " @%\n"
+ " _+\n"
+ " ,.\n"
+ " &m\n"
+ " es\n"
+ " ha\n"
+ " KW\n"
+ " IJ\n"
+ " BE\n"
+ " {}\n"
+ " ~`"
)
);
}
@Test
public void Mirrored_states_are_all_reflected()
{
assertThat(
WorldAssertions.mirror(
"rrrr\n"
+ "jjjj\n"
+ "ffff",
"012\n"
+ "345\n",
"1 9"
),
equalTo(
"jjjj\n"
+ "rrrr\n"
+ "ffff",
"210\n"
+ "543\n",
"9 1"
)
);
}
@Test
public void Colon_star_lines_are_preserved()
{
assertThat(
WorldAssertions.mirror(
"* \n"
+ " \n"
+ ":*=bi"
),
equalTo(
" *\n"
+ " \n"
+ ":*=bi"
)
);
}
@Test
public void Colon_star_lines_are_mirrored()
{
assertThat(
WorldAssertions.mirror(
"* \n"
+ " \n"
+ ":*=br"
),
equalTo(
" *\n"
+ " \n"
+ ":*=bj"
)
);
}
}