Skip to content

Commit 7c7787d

Browse files
committed
Added APITest class.
1 parent 8cede05 commit 7c7787d

1 file changed

Lines changed: 286 additions & 0 deletions

File tree

Lines changed: 286 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,286 @@
1+
package api_test;
2+
3+
import com.github.artbits.jsqlite.DB;
4+
import com.github.artbits.jsqlite.DataSupport;
5+
import com.github.artbits.jsqlite.Options;
6+
import org.junit.jupiter.api.Test;
7+
8+
import java.util.Arrays;
9+
import java.util.List;
10+
import java.util.function.Consumer;
11+
12+
public final class APITest {
13+
14+
15+
public static class User extends DataSupport<User> {
16+
public String name;
17+
public Integer age;
18+
public Boolean vip;
19+
20+
public User(Consumer<User> consumer) {
21+
super(consumer);
22+
}
23+
}
24+
25+
26+
public class Book extends DataSupport<Book> {
27+
public String name;
28+
public String author;
29+
public Double price;
30+
31+
public Book(Consumer<Book> consumer) {
32+
super(consumer);
33+
}
34+
}
35+
36+
37+
38+
DB connect() {
39+
DB db = DB.connect("database/example.db");
40+
db.tables(User.class);
41+
db.deleteAll(User.class);
42+
return db;
43+
}
44+
45+
46+
47+
@Test
48+
void insert() {
49+
List<User> users = Arrays.asList(new User(u -> {
50+
u.name = "user1";
51+
u.age = 18;
52+
u.vip = false;
53+
}), new User(u -> {
54+
u.name = "user2";
55+
u.age = 20;
56+
u.vip = true;
57+
}), new User(u -> {
58+
u.name = "user3";
59+
u.age = 22;
60+
u.vip = false;
61+
}), new User(u -> {
62+
u.name = "user4";
63+
u.age = 24;
64+
u.vip = true;
65+
}), new User(u -> {
66+
u.name = "user5";
67+
u.age = 26;
68+
u.vip = true;
69+
}));
70+
71+
DB db = connect();
72+
users.forEach(db::insert);
73+
}
74+
75+
76+
77+
@Test
78+
void updateById() {
79+
DB db = connect();
80+
insert();
81+
User user = db.first(User.class);
82+
db.update(user.set(u -> u.age = 60));
83+
}
84+
85+
86+
87+
@Test
88+
void updateByCondition() {
89+
DB db = connect();
90+
insert();
91+
db.update(new User(u -> u.age = 70), "name = ?", "user4");
92+
}
93+
94+
95+
96+
@Test
97+
void findOneById() {
98+
DB db = connect();
99+
insert();
100+
User user = db.findOne(User.class, 2L);
101+
user.printJson();
102+
}
103+
104+
105+
@Test
106+
void findOneByCondition() {
107+
DB db = connect();
108+
insert();
109+
User user = db.findOne(User.class, "name = ?", "user3");
110+
user.printJson();
111+
}
112+
113+
114+
@Test
115+
void findAll() {
116+
DB db = connect();
117+
insert();
118+
List<User> users = db.findAll(User.class);
119+
users.forEach(DataSupport::printJson);
120+
}
121+
122+
123+
@Test
124+
void findByIds() {
125+
DB db = connect();
126+
insert();
127+
List<User> users = db.find(User.class, 2L, 1L);
128+
users.forEach(DataSupport::printJson);
129+
}
130+
131+
132+
@Test
133+
void findByIdList() {
134+
DB db = connect();
135+
insert();
136+
List<User> users = db.find(User.class, Arrays.asList(1L, 2L));
137+
users.forEach(DataSupport::printJson);
138+
}
139+
140+
141+
@Test
142+
void find() {
143+
DB db = connect();
144+
insert();
145+
List<User> users = db.find(User.class, options -> options
146+
.select("name", "age")
147+
.where("age <= ? && vip = ?", 50, true)
148+
.order("age", Options.DESC)
149+
.limit(5)
150+
.offset(0));
151+
users.forEach(DataSupport::printJson);
152+
}
153+
154+
155+
@Test
156+
void deleteAll() {
157+
DB db = connect();
158+
insert();
159+
db.deleteAll(User.class);
160+
}
161+
162+
163+
@Test
164+
void deleteByIdList() {
165+
DB db = connect();
166+
db.delete(User.class, Arrays.asList(1L, 4L));
167+
}
168+
169+
170+
@Test
171+
void deleteByCondition() {
172+
DB db = connect();
173+
insert();
174+
db.delete(User.class, "name = ?", "user3");
175+
}
176+
177+
178+
179+
@Test
180+
void deleteByIds() {
181+
DB db = connect();
182+
insert();
183+
db.delete(User.class, 4L);
184+
}
185+
186+
187+
@Test
188+
void first() {
189+
DB db = connect();
190+
insert();
191+
192+
User user1 = db.first(User.class);
193+
user1.printJson();
194+
195+
User user2 = db.first(User.class, "vip = ?", true);
196+
user2.printJson();
197+
}
198+
199+
200+
@Test
201+
void last() {
202+
DB db = connect();
203+
insert();
204+
205+
User user1 = db.last(User.class);
206+
user1.printJson();
207+
208+
User user2 = db.last(User.class, "vip = ?", false);
209+
user2.printJson();
210+
}
211+
212+
213+
@Test
214+
void count() {
215+
DB db = connect();
216+
insert();
217+
218+
long count1 = db.count(User.class);
219+
System.out.println(count1);
220+
221+
long count2 = db.count(User.class, "vip = ?", true);
222+
System.out.println(count2);
223+
}
224+
225+
226+
@Test
227+
void average() {
228+
DB db = connect();
229+
insert();
230+
231+
double d1 = db.average(User.class, "age");
232+
System.out.println(d1);
233+
234+
double d2 = db.average(User.class, "age", "vip = ?", false);
235+
System.out.println(d2);
236+
}
237+
238+
239+
@Test
240+
void sum() {
241+
DB db = connect();
242+
insert();
243+
244+
int i1 = db.sum(User.class, "age").intValue();
245+
System.out.println(i1);
246+
247+
int i2 = db.sum(User.class, "age", "vip = ?", false).intValue();
248+
System.out.println(i2);
249+
}
250+
251+
252+
@Test
253+
void max() {
254+
DB db = connect();
255+
insert();
256+
257+
int age1 = db.max(User.class, "age").intValue();
258+
System.out.println(age1);
259+
260+
int age2 = db.max(User.class, "age", "vip = ?", false).intValue();
261+
System.out.println(age2);
262+
}
263+
264+
265+
@Test
266+
void min() {
267+
DB db = connect();
268+
insert();
269+
270+
int age1 = db.min(User.class, "age").intValue();
271+
System.out.println(age1);
272+
273+
int age2 = db.min(User.class, "age", "vip = ?", true).intValue();
274+
System.out.println(age2);
275+
}
276+
277+
278+
@Test
279+
void version() {
280+
DB db = connect();
281+
String version = db.version();
282+
System.out.println(version);
283+
}
284+
285+
286+
}

0 commit comments

Comments
 (0)