SqliteDatabaseTests.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System.Reflection;
  2. using Xunit;
  3. namespace PetaPoco.Tests.Integration.Databases.Sqlite
  4. {
  5. [Collection("Sqlite")]
  6. public class SqliteDatabaseTests : BaseDatabaseTests
  7. {
  8. private readonly SqliteDBTestProvider _provider;
  9. public SqliteDatabaseTests()
  10. : this(new SqliteDBTestProvider())
  11. {
  12. }
  13. private SqliteDatabaseTests(SqliteDBTestProvider provider)
  14. : base(provider)
  15. {
  16. _provider = provider;
  17. }
  18. /// <remarks>
  19. /// This is required because we can't use the Mapper.* methods, as we're testing many different databases and it would
  20. /// apply Sqlite logic incorrectly.
  21. /// </remarks>
  22. protected override void AfterDbCreate(Database db)
  23. {
  24. base.AfterDbCreate(db);
  25. // ReSharper disable once PossibleNullReferenceException
  26. db.GetType().GetField("_defaultMapper", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(db, _provider.GetDatabase().DefaultMapper);
  27. }
  28. }
  29. }