1290001Sglebius#include "config.h"
2290001Sglebius
3290001Sglebius#include "recvbuff.h"
4290001Sglebius
5290001Sglebius#include "unity.h"
6290001Sglebius
7290001Sglebiusvoid setUp(void);
8290001Sglebiusvoid test_Initialization(void);
9290001Sglebiusvoid test_GetAndFree(void);
10290001Sglebiusvoid test_GetAndFill(void);
11290001Sglebius
12290001Sglebiusvoid
13290001SglebiussetUp(void)
14290001Sglebius{
15290001Sglebius	init_recvbuff(RECV_INIT);
16293896Sglebius	init_lib();
17293896Sglebius
18293896Sglebius	return;
19290001Sglebius}
20290001Sglebius
21290001Sglebiusvoid
22290001Sglebiustest_Initialization(void) {
23290001Sglebius	TEST_ASSERT_EQUAL_UINT(RECV_INIT, free_recvbuffs());
24290001Sglebius	TEST_ASSERT_EQUAL_UINT(0, full_recvbuffs());
25290001Sglebius	TEST_ASSERT_FALSE(has_full_recv_buffer());
26290001Sglebius	TEST_ASSERT_NULL(get_full_recv_buffer());
27290001Sglebius}
28290001Sglebius
29290001Sglebiusvoid
30290001Sglebiustest_GetAndFree(void) {
31290001Sglebius	u_long initial = free_recvbuffs();
32290001Sglebius	recvbuf_t* buf = get_free_recv_buffer();
33290001Sglebius
34290001Sglebius	TEST_ASSERT_EQUAL_UINT(initial-1, free_recvbuffs());
35290001Sglebius	freerecvbuf(buf);
36290001Sglebius	TEST_ASSERT_EQUAL_UINT(initial, free_recvbuffs());
37290001Sglebius}
38290001Sglebius
39290001Sglebius
40290001Sglebiusvoid
41290001Sglebiustest_GetAndFill(void) {
42293896Sglebius	// int initial = free_recvbuffs();
43290001Sglebius	recvbuf_t* buf = get_free_recv_buffer();
44290001Sglebius
45290001Sglebius	add_full_recv_buffer(buf);
46290001Sglebius	TEST_ASSERT_EQUAL_UINT(1, full_recvbuffs());
47290001Sglebius	TEST_ASSERT_TRUE(has_full_recv_buffer());
48290001Sglebius	TEST_ASSERT_EQUAL_PTR(buf, get_full_recv_buffer());
49290001Sglebius}
50