1290001Sglebius#include "config.h"
2290001Sglebius
3290001Sglebius#include "ntp_stdlib.h"
4290001Sglebius#include "ntp_calendar.h"
5290001Sglebius#include "ntp_fp.h"
6290001Sglebius
7290001Sglebius#include "unity.h"
8290001Sglebius
9290001Sglebiusvoid test_RegularPositive(void);
10290001Sglebiusvoid test_PositiveOverflowBoundary(void);
11290001Sglebiusvoid test_PositiveOverflowBig(void);
12290001Sglebiusvoid test_Negative(void);
13290001Sglebiusvoid test_IllegalChar(void);
14290001Sglebius
15290001Sglebius
16290001Sglebius
17290001Sglebiusvoid test_RegularPositive(void) {
18290001Sglebius	const char *str = "305";
19290001Sglebius	u_long actual;
20290001Sglebius
21290001Sglebius	TEST_ASSERT_TRUE(atouint(str, &actual));
22290001Sglebius	TEST_ASSERT_EQUAL(305, actual);
23290001Sglebius}
24290001Sglebius
25290001Sglebiusvoid test_PositiveOverflowBoundary(void) {
26290001Sglebius	const char *str = "4294967296";
27290001Sglebius	u_long actual;
28290001Sglebius
29290001Sglebius	TEST_ASSERT_FALSE(atouint(str, &actual));
30290001Sglebius}
31290001Sglebius
32290001Sglebiusvoid test_PositiveOverflowBig(void) {
33290001Sglebius	const char *str = "8000000000";
34290001Sglebius	u_long actual;
35290001Sglebius
36290001Sglebius	TEST_ASSERT_FALSE(atouint(str, &actual));
37290001Sglebius}
38290001Sglebius
39290001Sglebiusvoid test_Negative(void) {
40290001Sglebius	const char *str = "-1";
41290001Sglebius	u_long actual;
42290001Sglebius
43290001Sglebius	TEST_ASSERT_FALSE(atouint(str, &actual));
44290001Sglebius}
45290001Sglebius
46290001Sglebiusvoid test_IllegalChar(void) {
47290001Sglebius	const char *str = "50c3";
48290001Sglebius	u_long actual;
49290001Sglebius
50290001Sglebius	TEST_ASSERT_FALSE(atouint(str, &actual));
51290001Sglebius}
52