Browse Source

move north set x 0

remotes/origin/Joe
Joe Lukas Kalb 11 months ago
parent
commit
c8feba1040
  1. 10
      src/main/c/labyrinth.c
  2. 1
      src/main/c/labyrinth.h
  3. 17
      src/test/c/test_labyrinth.c

10
src/main/c/labyrinth.c

@ -21,3 +21,13 @@ void turn_direction_right(Direction *direction){
break; break;
} }
} }
void move(unsigned short *x, unsigned short *y, Direction direction){
if (direction == N){
*x = 0;
return;
}
}

1
src/main/c/labyrinth.h

@ -4,5 +4,6 @@
#include "global.h" #include "global.h"
void turn_direction_right(Direction *direction); void turn_direction_right(Direction *direction);
void move(unsigned short *x, unsigned short *y, Direction direction);
#endif // TEST_H #endif // TEST_H

17
src/test/c/test_labyrinth.c

@ -64,3 +64,20 @@ void test_turn_direction_right_from_W_expected_N(void)
TEST_ASSERT_TRUE(expected == actual); TEST_ASSERT_TRUE(expected == actual);
} }
void test_lab_move_from_1_1_N_expected_0_1(void)
{
/* arrange */
unsigned short x = 1;
unsigned short y = 1;
Direction direction = N;
unsigned short x_expected = 0;
unsigned short y_expected = 1;
/* act */
move(&x, &y, direction);
/* assert */
TEST_ASSERT_TRUE(x == x_expected && y == y_expected);
}
Loading…
Cancel
Save