Skip to content

Commit 1cc2622

Browse files
committed
Add editor unit tests for serialization methods
1 parent b9a0741 commit 1cc2622

6 files changed

+105
-0
lines changed

Tests.meta

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tests/Editor.meta

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"name": "Gilzoide.SqliteNet.Tests.Editor",
3+
"rootNamespace": "Gilzoide.SqliteNet.Tests.Editor",
4+
"references": [
5+
"UnityEngine.TestRunner",
6+
"UnityEditor.TestRunner",
7+
"Gilzoide.SqliteNet"
8+
],
9+
"includePlatforms": [
10+
"Editor"
11+
],
12+
"excludePlatforms": [],
13+
"allowUnsafeCode": false,
14+
"overrideReferences": true,
15+
"precompiledReferences": [
16+
"nunit.framework.dll"
17+
],
18+
"autoReferenced": false,
19+
"defineConstraints": [
20+
"UNITY_INCLUDE_TESTS"
21+
],
22+
"versionDefines": [],
23+
"noEngineReferences": false
24+
}

Tests/Editor/Gilzoide.SqliteNet.Tests.Editor.asmdef.meta

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tests/Editor/TestSerialization.cs

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
using NUnit.Framework;
2+
using SQLite;
3+
4+
namespace Gilzoide.SqliteNet.Tests.Editor
5+
{
6+
public class TestSerialization
7+
{
8+
private class Row
9+
{
10+
[PrimaryKey]
11+
public int Id { get; set; }
12+
public int Value { get; set; }
13+
}
14+
15+
[Test, TestCase(100)]
16+
public void TestSQLiteSerialization(int quantity)
17+
{
18+
byte[] serializedDatabase;
19+
using(var db = new SQLiteConnection(""))
20+
{
21+
db.CreateTable<Row>();
22+
for (int i = 0; i < quantity; i++)
23+
{
24+
int added = db.Insert(new Row
25+
{
26+
Id = i,
27+
Value = i,
28+
});
29+
Assert.That(added, Is.EqualTo(1));
30+
}
31+
serializedDatabase = db.Serialize();
32+
}
33+
Assert.That(serializedDatabase, Is.Not.Null);
34+
35+
using(var db = new SQLiteConnection(""))
36+
{
37+
db.Deserialize(serializedDatabase, flags: SQLite3.DeserializeFlags.ReadOnly);
38+
for (int i = 0; i < quantity; i++)
39+
{
40+
Row row = db.Table<Row>().Where(r => r.Id == i).FirstOrDefault();
41+
Assert.That(row, Is.Not.Null, $"Couldn't find row {i}");
42+
Assert.That(row.Id, Is.EqualTo(row.Value));
43+
}
44+
}
45+
}
46+
}
47+
}

Tests/Editor/TestSerialization.cs.meta

+11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)