public void TestSqlListBillReaderWithFilterByDateTime() { IList <BillInfo> bills = new List <BillInfo>(); List <int> newIds = new List <int> { _currId + 1, _currId + 2, _currId + 3, _currId + 4 }; IDictionary <int, DateTime> duedates = new Dictionary <int, DateTime> { { newIds[0], new DateTime(1990, 10, 1) }, { newIds[1], new DateTime(1990, 10, 2) }, { newIds[2], new DateTime(1990, 10, 3) }, { newIds[3], new DateTime(1990, 10, 4) } }; foreach (int expectedId in newIds) { BillInfo bill = GenerateRandomBillInfo(expectedId); bill.DueDate = duedates[expectedId]; AddToDb(bill); bills.Add(bill); } SqliteDbBillReaderWriter sqliteReader = new SqliteDbBillReaderWriter(_connString); IList <BillInfo> retBills = sqliteReader.GetBillByFilter( bill => bill.DueDate >= new DateTime(1990, 10, 2) && bill.DueDate <= new DateTime(1990, 10, 3)); Assert.AreEqual(retBills.Count, 2); Assert.AreEqual(retBills[0].Id, newIds[1]); Assert.AreEqual(retBills[1].Id, newIds[2]); }
public void TestSqlListBillReaderWithFilterByPaidStatus() { List <BillInfo> bills = new List <BillInfo>(); List <int> newIds = new List <int> { _currId + 1, _currId + 2, _currId + 3, _currId + 4 }; IDictionary <int, bool> paidstatus = new Dictionary <int, bool> { { newIds[0], true }, { newIds[1], false }, { newIds[2], true }, { newIds[3], true } }; foreach (int expectedId in newIds) { BillInfo bill = GenerateRandomBillInfo(expectedId); bill.IsAlreadyPaid = paidstatus[expectedId]; AddToDb(bill); bills.Add(bill); } SqliteDbBillReaderWriter sqliteReader = new SqliteDbBillReaderWriter(_connString); IList <BillInfo> paidBills = sqliteReader.GetBillByFilter(bill => bill.IsAlreadyPaid); Assert.AreEqual(paidBills.Count, 3); Assert.AreEqual(paidBills[0].Id, newIds[0]); Assert.AreEqual(paidBills[1].Id, newIds[2]); Assert.AreEqual(paidBills[2].Id, newIds[3]); IList <BillInfo> unpaidBills = sqliteReader.GetBillByFilter(bill => !bill.IsAlreadyPaid); Assert.AreEqual(unpaidBills.Count, 1); Assert.AreEqual(unpaidBills[0].Id, newIds[1]); }
public void TestSqlListBillReaderWithFilterById() { IList <BillInfo> bills = new List <BillInfo>(); foreach (int expectedId in new List <int> { _currId + 1, _currId + 2, _currId + 3 }) { BillInfo bill = GenerateRandomBillInfo(expectedId); AddToDb(bill); bills.Add(bill); } SqliteDbBillReaderWriter sqliteReader = new SqliteDbBillReaderWriter(_connString); IList <BillInfo> retBills = sqliteReader.GetBillByFilter(bill => bill.Id == _currId + 2); Assert.IsTrue(retBills[0].SameData(bills[1])); Assert.AreEqual(retBills[0].Id, bills[1].Id); IList <BillInfo> retBills2 = sqliteReader.GetBillByFilter(bill => bill.Id == -1); Assert.AreEqual(retBills2.Count, 0); }