aboutsummaryrefslogtreecommitdiff
path: root/tests/libntp/recvbuff.cpp
blob: e9505bd7c1cfec3343d31b693b2b370a83e584e7 (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
#include "libntptest.h"

extern "C" {
#include "recvbuff.h"
};

class recvbuffTest : public libntptest {
protected:
	virtual void SetUp() {
		init_recvbuff(RECV_INIT);
	}
};

TEST_F(recvbuffTest, Initialization) {
	EXPECT_EQ(RECV_INIT, free_recvbuffs());
	EXPECT_EQ(0, full_recvbuffs());
	EXPECT_FALSE(has_full_recv_buffer());
	EXPECT_TRUE(get_full_recv_buffer() == NULL);
}

TEST_F(recvbuffTest, GetAndFree) {
	int initial = free_recvbuffs();
	recvbuf_t* buf = get_free_recv_buffer();

	EXPECT_EQ(initial-1, free_recvbuffs());
	freerecvbuf(buf);
	EXPECT_EQ(initial, free_recvbuffs());
}

TEST_F(recvbuffTest, GetAndFill) {
	int initial = free_recvbuffs();
	recvbuf_t* buf = get_free_recv_buffer();

	add_full_recv_buffer(buf);
	EXPECT_EQ(1, full_recvbuffs());
	EXPECT_TRUE(has_full_recv_buffer());
	EXPECT_EQ(buf, get_full_recv_buffer());
}