File: strFeed.c

package info (click to toggle)
swirc 3.5.8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,044 kB
  • sloc: cpp: 18,690; ansic: 18,414; sh: 1,011; python: 254; makefile: 108; javascript: 20
file content (133 lines) | stat: -rw-r--r-- 2,796 bytes parent folder | download | duplicates (3)
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include "common.h"

#include <setjmp.h>
#include <cmocka.h>

#include "strHand.h"

static void
canFeedString_test1(void **state)
{
	char		 str[] = "This is the target string";
	const char	*expected = "This\nis\nthe\ntarget\nstring";

	if (strFeed(str, 4) != 4)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

static void
canFeedString_test2(void **state)
{
	char		 str[] = "This is the target string";
	const char	*expected = "This\nis\nthe\ntarget string";

	if (strFeed(str, 3) != 3)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

static void
canFeedString_test3(void **state)
{
	char		 str[] = "This is the target string";
	const char	*expected = "This\nis\nthe target string";

	if (strFeed(str, 2) != 2)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

static void
canFeedString_test4(void **state)
{
	char		 str[] = "This is the target string";
	const char	*expected = "This\nis the target string";

	if (strFeed(str, 1) != 1)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

static void
canFeedString_test5(void **state)
{
	char		 str[] = "          ";
	const char	*expected = "\n\n\n\n\n     ";

	if (strFeed(str, 5) != 5)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

static void
canFeedString_test6(void **state)
{
	char		 str[] = "          ";
	const char	*expected = "\n\n\n\n\n\n\n\n\n\n";

	if (strFeed(str, 10) != 10)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

static void
leavesStringUnchanged_test1(void **state)
{
	char		 str[] = "\t\t\t\t\t";
	const char	*expected = "\t\t\t\t\t";

	if (strFeed(str, 5) != 0)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

static void
leavesStringUnchanged_test2(void **state)
{
	char		 str[] = "0123456789";
	const char	*expected = "0123456789";

	if (strFeed(str, 10) != 0)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

static void
leavesStringUnchanged_test3(void **state)
{
	char str[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	const char *expected = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	    "abcdefghijklmnopqrstuvwxyz";

	if (strFeed(str, 26) != 0)
		fail();
	assert_string_equal(str, expected);
	UNUSED_PARAM(state);
}

int
main(void)
{
	const struct CMUnitTest tests[] = {
		cmocka_unit_test(canFeedString_test1),
		cmocka_unit_test(canFeedString_test2),
		cmocka_unit_test(canFeedString_test3),
		cmocka_unit_test(canFeedString_test4),
		cmocka_unit_test(canFeedString_test5),
		cmocka_unit_test(canFeedString_test6),
		cmocka_unit_test(leavesStringUnchanged_test1),
		cmocka_unit_test(leavesStringUnchanged_test2),
		cmocka_unit_test(leavesStringUnchanged_test3),
	};

	return cmocka_run_group_tests(tests, NULL, NULL);
}