Skip to content

Commit a123256

Browse files
committed
add more tests
1 parent 009a813 commit a123256

File tree

10 files changed

+577
-5
lines changed

10 files changed

+577
-5
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.database.SQLiteDatabase;
4+
import net.zetetic.tests.SQLCipherTest;
5+
6+
public class BeginTransactionTest extends SupportTest {
7+
@Override
8+
public boolean execute(SQLiteDatabase database) {
9+
database.beginTransaction();
10+
database.endTransaction();
11+
return true;
12+
}
13+
14+
@Override
15+
public String getName() {
16+
return "Begin transaction test";
17+
}
18+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.database.SQLiteDatabase;
4+
import net.zetetic.tests.SQLCipherTest;
5+
6+
public class CompileBeginTest extends SupportTest {
7+
8+
@Override
9+
public boolean execute(SQLiteDatabase database) {
10+
try {
11+
database.compileStatement("begin").execute();
12+
return true;
13+
}catch (Exception e){
14+
return false;
15+
}
16+
}
17+
18+
@Override
19+
public String getName() {
20+
return "Compile Begin Test";
21+
}
22+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.database.SQLiteDatabase;
4+
import net.zetetic.QueryHelper;
5+
import net.zetetic.tests.SQLCipherTest;
6+
7+
public class QueryFloatToStringTest extends SupportTest {
8+
@Override
9+
public boolean execute(SQLiteDatabase database) {
10+
String value = QueryHelper.singleValueFromQuery(database, "SELECT 42.09;");
11+
return value.equals("42.09");
12+
}
13+
14+
@Override
15+
public String getName() {
16+
return "Query Float to String";
17+
}
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.database.SQLiteDatabase;
4+
import net.zetetic.QueryHelper;
5+
import net.zetetic.tests.SQLCipherTest;
6+
7+
public class QueryIntegerToStringTest extends SupportTest {
8+
@Override
9+
public boolean execute(SQLiteDatabase database) {
10+
String value = QueryHelper.singleValueFromQuery(database, "SELECT 123;");
11+
return value.equals("123");
12+
}
13+
14+
@Override
15+
public String getName() {
16+
return "Query Integer to String";
17+
}
18+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package net.zetetic.tests.support;
2+
3+
import android.content.ContentValues;
4+
import android.database.Cursor;
5+
import net.sqlcipher.database.SQLiteDatabase;
6+
import net.zetetic.tests.SQLCipherTest;
7+
8+
public class QueryLimitTest extends SupportTest {
9+
10+
@Override
11+
public boolean execute(SQLiteDatabase database) {
12+
13+
int query1FirstId = -1;
14+
int query1RowCount = 0;
15+
int limit = 20;
16+
int offset = 5;
17+
int recordsToInsertInSourceTable = 30;
18+
String create = "CREATE TABLE source(id INTEGER(20) PRIMARY KEY, name VARCHAR(50));";
19+
String other = "CREATE TABLE destination(id INTEGER(20) PRIMARY KEY, name VARCHAR(50));";
20+
String insert = String.format("INSERT INTO destination(id, name) SELECT * FROM source ORDER BY ID ASC LIMIT %d OFFSET %d;",
21+
limit, offset);
22+
String query1 = "SELECT * FROM destination ORDER BY id ASC;";
23+
24+
database.rawExecSQL(create);
25+
database.beginTransaction();
26+
for(int index = 0; index < recordsToInsertInSourceTable; index++){
27+
ContentValues values = new ContentValues();
28+
values.put("id", String.valueOf(index));
29+
values.put("name", String.format("name%d", index));
30+
database.insert("source", null, values);
31+
}
32+
database.setTransactionSuccessful();
33+
database.endTransaction();
34+
35+
database.execSQL(other);
36+
database.execSQL(insert);
37+
38+
Cursor cursor = database.rawQuery(query1, null);
39+
if(cursor != null){
40+
while (cursor.moveToNext()){
41+
if(query1FirstId == -1) {
42+
query1FirstId = cursor.getInt(cursor.getColumnIndex("id"));
43+
}
44+
query1RowCount++;
45+
log(String.format("id:%d name:%s",
46+
cursor.getInt(cursor.getColumnIndex("id")),
47+
cursor.getString(cursor.getColumnIndex("name"))));
48+
}
49+
cursor.close();
50+
}
51+
return query1FirstId == offset && query1RowCount == limit;
52+
}
53+
54+
@Override
55+
public String getName() {
56+
return "Query Limit Test";
57+
}
58+
}

0 commit comments

Comments
 (0)