FMDBTempDBTests.m 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //
  2. // FMDBTempDBTests.m
  3. // fmdb
  4. //
  5. // Created by Graham Dennis on 24/11/2013.
  6. //
  7. //
  8. #import "FMDBTempDBTests.h"
  9. static NSString *const testDatabasePath = @"/private/tmp/tmp.db";
  10. static NSString *const populatedDatabasePath = @"/private/tmp/tmp-populated.db";
  11. @implementation FMDBTempDBTests
  12. + (void)setUp
  13. {
  14. [super setUp];
  15. // Delete old populated database
  16. NSFileManager *fileManager = [NSFileManager defaultManager];
  17. [fileManager removeItemAtPath:populatedDatabasePath error:NULL];
  18. if ([self respondsToSelector:@selector(populateDatabase:)]) {
  19. FMDatabase *db = [FMDatabase databaseWithPath:populatedDatabasePath];
  20. [db open];
  21. [self populateDatabase:db];
  22. [db close];
  23. }
  24. }
  25. - (void)setUp
  26. {
  27. [super setUp];
  28. // Delete the old database
  29. NSFileManager *fileManager = [NSFileManager defaultManager];
  30. [fileManager removeItemAtPath:testDatabasePath error:NULL];
  31. if ([[self class] respondsToSelector:@selector(populateDatabase:)]) {
  32. [fileManager copyItemAtPath:populatedDatabasePath toPath:testDatabasePath error:NULL];
  33. }
  34. self.db = [FMDatabase databaseWithPath:testDatabasePath];
  35. XCTAssertTrue([self.db open], @"Wasn't able to open database");
  36. [self.db setShouldCacheStatements:YES];
  37. }
  38. - (void)tearDown
  39. {
  40. [super tearDown];
  41. [self.db close];
  42. }
  43. - (NSString *)databasePath
  44. {
  45. return testDatabasePath;
  46. }
  47. @end