diff options
Diffstat (limited to 'tests/test_chat_session.c')
-rw-r--r-- | tests/test_chat_session.c | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/test_chat_session.c b/tests/test_chat_session.c new file mode 100644 index 00000000..0a4dd262 --- /dev/null +++ b/tests/test_chat_session.c @@ -0,0 +1,73 @@ +#include <stdio.h> +#include <head-unit.h> +#include "chat_session.h" + +void setup(void) +{ + chat_session_init(); +} + +void adding_new_sets_state_to_active(void) +{ + chat_session_start("prof1@panesar"); + chat_state_t state = chat_session_get_state("prof1@panesar"); + + assert_int_equals(ACTIVE, state); +} + +void set_inactive(void) +{ + chat_session_start("prof2@panesar"); + chat_session_set_state("prof2@panesar", INACTIVE); + chat_state_t state = chat_session_get_state("prof2@panesar"); + + assert_int_equals(INACTIVE, state); +} + +void set_gone(void) +{ + chat_session_start("prof3@panesar"); + chat_session_set_state("prof3@panesar", GONE); + chat_state_t state = chat_session_get_state("prof3@panesar"); + + assert_int_equals(GONE, state); +} + +void set_composing(void) +{ + chat_session_start("prof4@panesar"); + chat_session_set_state("prof4@panesar", COMPOSING); + chat_state_t state = chat_session_get_state("prof4@panesar"); + + assert_int_equals(COMPOSING, state); +} + +void set_paused(void) +{ + chat_session_start("prof5@panesar"); + chat_session_set_state("prof5@panesar", PAUSED); + chat_state_t state = chat_session_get_state("prof5@panesar"); + + assert_int_equals(PAUSED, state); +} + +void end_session(void) +{ + chat_session_start(strdup("prof6@panesar")); + chat_session_end("prof6@panesar"); + chat_state_t state = chat_session_get_state("prof5@panesat"); + + assert_int_equals(SESSION_ERR, state); +} + +void register_chat_session_tests(void) +{ + TEST_MODULE("chat_session_tests"); + SETUP(setup); + TEST(adding_new_sets_state_to_active); + TEST(set_inactive); + TEST(set_gone); + TEST(set_composing); + TEST(set_paused); + TEST(end_session); +} |