about summary refs log tree commit diff stats
path: root/tests/test_chat_session.c
blob: 0a4dd26296c866848534508122415d558caeafcb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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);
}