Skip to content

Commit 730baa3

Browse files
committed
Assert that TimeSpans are actually stored in the DB as requested.
1 parent e4a0f89 commit 730baa3

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

tests/TimeSpanTest.cs

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,58 +28,68 @@ class TestObj
2828
public void AsTicks ()
2929
{
3030
var db = new TestDb (TimeSpanAsTicks (true));
31-
TestTimeSpan (db);
31+
var span = new TimeSpan (42, 12, 33, 20, 501);
32+
TestTimeSpan (db, span, span.Ticks.ToString ());
3233
}
3334

3435
[Test]
3536
public void AsStrings ()
3637
{
3738
var db = new TestDb (TimeSpanAsTicks (false));
38-
TestTimeSpan (db);
39+
var span = new TimeSpan (42, 12, 33, 20, 501);
40+
TestTimeSpan (db, span, span.ToString ());
3941
}
4042

4143
[Test]
4244
public void AsyncAsTicks ()
4345
{
4446
var db = new SQLiteAsyncConnection (TimeSpanAsTicks (true));
45-
TestAsyncTimeSpan (db);
47+
var span = new TimeSpan (42, 12, 33, 20, 501);
48+
TestAsyncTimeSpan (db, span, span.Ticks.ToString ());
4649
}
4750

4851
[Test]
4952
public void AsyncAsStrings ()
5053
{
5154
var db = new SQLiteAsyncConnection (TimeSpanAsTicks (false));
52-
TestAsyncTimeSpan (db);
55+
var span = new TimeSpan (42, 12, 33, 20, 501);
56+
TestAsyncTimeSpan (db, span, span.ToString ());
5357
}
5458

5559
SQLiteConnectionString TimeSpanAsTicks (bool asTicks = true) => new SQLiteConnectionString (TestPath.GetTempFileName (), SQLiteOpenFlags.Create | SQLiteOpenFlags.ReadWrite, true, storeTimeSpanAsTicks: asTicks);
5660

57-
void TestAsyncTimeSpan (SQLiteAsyncConnection db)
61+
void TestAsyncTimeSpan (SQLiteAsyncConnection db, TimeSpan duration, string expected)
5862
{
5963
db.CreateTableAsync<TestObj> ().Wait ();
6064

6165
TestObj o, o2;
6266

6367
o = new TestObj {
64-
Duration = new TimeSpan (42, 12, 33, 20, 501),
68+
Duration = duration,
6569
};
6670
db.InsertAsync (o).Wait ();
6771
o2 = db.GetAsync<TestObj> (o.Id).Result;
6872
Assert.AreEqual (o.Duration, o2.Duration);
73+
74+
var stored = db.ExecuteScalarAsync<string> ("SELECT Duration FROM TestObj;").Result;
75+
Assert.AreEqual (expected, stored);
6976
}
7077

71-
void TestTimeSpan (TestDb db)
78+
void TestTimeSpan (TestDb db, TimeSpan duration, string expected)
7279
{
7380
db.CreateTable<TestObj> ();
7481

7582
TestObj o, o2;
7683

7784
o = new TestObj {
78-
Duration = new TimeSpan (42, 12, 33, 20, 501),
85+
Duration = duration,
7986
};
8087
db.Insert (o);
8188
o2 = db.Get<TestObj> (o.Id);
8289
Assert.AreEqual (o.Duration, o2.Duration);
90+
91+
var stored = db.ExecuteScalar<string> ("SELECT Duration FROM TestObj;");
92+
Assert.AreEqual (expected, stored);
8393
}
8494
}
8595
}

0 commit comments

Comments
 (0)