/[LeafOK_CVS]/lbbs/src/test_article_favor.c
ViewVC logotype

Contents of /lbbs/src/test_article_favor.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations)
Tue Nov 4 14:58:56 2025 UTC (4 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.3: +1 -1 lines
Content type: text/x-csrc
Refine file header information comments

1 /* SPDX-License-Identifier: GPL-3.0-or-later */
2 /*
3 * test_article_favor
4 * - tester for data model and basic operations of user favorite articles
5 *
6 * Copyright (C) 2004-2025 Leaflet <leaflet@leafok.com>
7 */
8
9 #include "article_favor.h"
10 #include <stdio.h>
11
12 int main(int argc, char *argv[])
13 {
14 ARTICLE_FAVOR favor;
15 int32_t aid;
16 int i;
17 int ret = 0;
18
19 article_favor_load(0, &favor, 0);
20
21 printf("Test #1\n");
22
23 for (i = MAX_FAVOR_AID_INC_CNT * 3; i > 0; i--)
24 {
25 if (i % MAX_FAVOR_AID_INC_CNT == 0 || i % MAX_FAVOR_AID_INC_CNT == MAX_FAVOR_AID_INC_CNT / 2)
26 {
27 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
28 }
29
30 aid = i * 5 + 7;
31 if (article_favor_check(aid, &favor) != 0)
32 {
33 printf("article_favor_check(%d) != 0\n", aid);
34 break;
35 }
36 if (article_favor_set(aid, &favor, 1) != 1)
37 {
38 printf("article_favor_set(%d, 1) != 1\n", aid);
39 break;
40 }
41 if (article_favor_check(aid, &favor) != 1)
42 {
43 printf("article_favor_check(%d) != 1\n", aid);
44 break;
45 }
46 if ((ret = article_favor_set(aid, &favor, 0)) != 2)
47 {
48 printf("article_favor_set(%d, 0) != 2, ret = %d\n", aid, ret);
49 break;
50 }
51
52 if (article_favor_check(aid, &favor) != 0)
53 {
54 printf("article_favor_check(%d) != 0\n", aid);
55 break;
56 }
57 }
58
59 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
60
61 printf("Test #2\n");
62
63 article_favor_merge_inc(&favor);
64
65 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
66
67 for (i = MAX_FAVOR_AID_INC_CNT * 3; i > 0; i--)
68 {
69 if (i % MAX_FAVOR_AID_INC_CNT == 0 || i % MAX_FAVOR_AID_INC_CNT == MAX_FAVOR_AID_INC_CNT / 2)
70 {
71 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
72 }
73
74 aid = i * 5 + 7;
75 if (article_favor_check(aid, &favor) != 0)
76 {
77 printf("article_favor_check(%d) != 0\n", aid);
78 break;
79 }
80
81 if (article_favor_set(aid, &favor, 1) != 1)
82 {
83 printf("article_favor_set(%d, 1) != 1\n", aid);
84 break;
85 }
86 if (article_favor_check(aid, &favor) != 1)
87 {
88 printf("article_favor_check(%d) != 1\n", aid);
89 break;
90 }
91 }
92
93 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
94
95 printf("Test #3\n");
96
97 article_favor_merge_inc(&favor);
98
99 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
100
101 for (i = MAX_FAVOR_AID_INC_CNT * 3; i > 0; i--)
102 {
103 if (i % MAX_FAVOR_AID_INC_CNT == 0 || i % MAX_FAVOR_AID_INC_CNT == MAX_FAVOR_AID_INC_CNT / 2)
104 {
105 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
106 }
107
108 aid = i * 5 + 7;
109 if (article_favor_check(aid, &favor) != 1)
110 {
111 printf("article_favor_check(%d) != 1\n", aid);
112 break;
113 }
114
115 if (article_favor_set(aid, &favor, 1) != 0)
116 {
117 printf("article_favor_set(%d, 1) != 0\n", aid);
118 break;
119 }
120
121 if (article_favor_check(aid, &favor) != 1)
122 {
123 printf("article_favor_check(%d) != 1\n", aid);
124 break;
125 }
126
127 if (article_favor_set(aid, &favor, 0) != 1)
128 {
129 printf("article_favor_set(%d, 0) != 1\n", aid);
130 break;
131 }
132
133 if (article_favor_check(aid, &favor) != 0)
134 {
135 printf("article_favor_check(%d) != 0\n", aid);
136 break;
137 }
138 }
139
140 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
141
142 printf("Test #4\n");
143
144 article_favor_merge_inc(&favor);
145
146 printf("Base cnt = %d, Inc cnt = %d\n", favor.aid_base_cnt, favor.aid_inc_cnt);
147
148 article_favor_unload(&favor);
149
150 return 0;
151 }

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1