@@ -17,32 +17,28 @@ class CoreDataMigratorTests: XCTestCase {
17
17
18
18
// MARK: - Lifecycle
19
19
20
- override class func setUp( ) {
21
- super. setUp ( )
22
-
23
- FileManager . clearTmpDirectoryContents ( )
24
- }
25
-
26
20
override func setUp( ) {
27
21
super. setUp ( )
28
22
29
23
sut = CoreDataMigrator ( )
30
24
}
31
25
32
26
override func tearDown( ) {
33
- FileManager . clearTmpDirectoryContents ( )
34
-
35
27
sut = nil
36
28
37
29
super. tearDown ( )
38
30
}
39
31
32
+ func tearDownCoreDataStack( context: NSManagedObjectContext ) {
33
+ context. destroyStore ( )
34
+ }
35
+
40
36
// MARK: - Tests
41
37
42
38
// MARK: SingleStepMigrations
43
39
44
40
func test_individualStepMigration_1to2( ) {
45
- let sourceURL = FileManager . moveFileFromBundleToTmpDirectory ( fileName : " CoreDataMigration_Example_1.sqlite " )
41
+ let sourceURL = FileManager . moveFileFromBundleToTempDirectory ( filename : " CoreDataMigration_Example_1.sqlite " )
46
42
let toVersion = CoreDataMigrationVersion . version2
47
43
48
44
sut. migrateStore ( at: sourceURL, toVersion: toVersion)
@@ -70,10 +66,12 @@ class CoreDataMigratorTests: XCTestCase {
70
66
XCTAssertEqual ( migratedHexColor, " 1BB732 " )
71
67
XCTAssertEqual ( migratedPostID, " FFFECB21-6645-4FDD-B8B0-B960D0E61F5A " )
72
68
XCTAssertEqual ( migratedContent, " Test body " )
69
+
70
+ tearDownCoreDataStack ( context: context)
73
71
}
74
72
75
73
func test_individualStepMigration_2to3( ) {
76
- let sourceURL = FileManager . moveFileFromBundleToTmpDirectory ( fileName : " CoreDataMigration_Example_2.sqlite " )
74
+ let sourceURL = FileManager . moveFileFromBundleToTempDirectory ( filename : " CoreDataMigration_Example_2.sqlite " )
77
75
let toVersion = CoreDataMigrationVersion . version3
78
76
79
77
sut. migrateStore ( at: sourceURL, toVersion: toVersion)
@@ -120,10 +118,12 @@ class CoreDataMigratorTests: XCTestCase {
120
118
let migratedContents = try ? context. fetch ( contentRequest)
121
119
122
120
XCTAssertEqual ( migratedContents? . count, 20 )
121
+
122
+ tearDownCoreDataStack ( context: context)
123
123
}
124
124
125
125
func test_individualStepMigration_3to4( ) {
126
- let sourceURL = FileManager . moveFileFromBundleToTmpDirectory ( fileName : " CoreDataMigration_Example_3.sqlite " )
126
+ let sourceURL = FileManager . moveFileFromBundleToTempDirectory ( filename : " CoreDataMigration_Example_3.sqlite " )
127
127
let toVersion = CoreDataMigrationVersion . version4
128
128
129
129
sut. migrateStore ( at: sourceURL, toVersion: toVersion)
@@ -145,13 +145,13 @@ class CoreDataMigratorTests: XCTestCase {
145
145
146
146
let migratedDate = firstMigratedPost? . value ( forKey: " date " ) as? Date
147
147
let migratedPostID = firstMigratedPost? . value ( forKey: " postID " ) as? String
148
- let migratedHidden = firstMigratedPost? . value ( forKey: " hidden " ) as? Bool
148
+ let migratedSoftDeleted = firstMigratedPost? . value ( forKey: " softDeleted " ) as? Bool
149
149
let migratedTitleContent = firstMigratedPost? . value ( forKey: " title " ) as? NSManagedObject
150
150
let migratedBodyContent = firstMigratedPost? . value ( forKey: " body " ) as? NSManagedObject
151
151
152
152
XCTAssertEqual ( migratedDate? . timeIntervalSince1970, 1547494150.058821 )
153
153
XCTAssertEqual ( migratedPostID, " FFFECB21-6645-4FDD-B8B0-B960D0E61F5A " )
154
- XCTAssertFalse ( migratedHidden ?? true )
154
+ XCTAssertFalse ( migratedSoftDeleted ?? true )
155
155
XCTAssertNotNil ( migratedTitleContent)
156
156
XCTAssertNotNil ( migratedBodyContent)
157
157
@@ -172,12 +172,14 @@ class CoreDataMigratorTests: XCTestCase {
172
172
let migratedContents = try ? context. fetch ( contentRequest)
173
173
174
174
XCTAssertEqual ( migratedContents? . count, 20 )
175
+
176
+ tearDownCoreDataStack ( context: context)
175
177
}
176
178
177
179
// MARK: MultipleStepMigrations
178
180
179
181
func test_multipleStepMigration_fromVersion1toVersion4( ) {
180
- let sourceURL = FileManager . moveFileFromBundleToTmpDirectory ( fileName : " CoreDataMigration_Example_1.sqlite " )
182
+ let sourceURL = FileManager . moveFileFromBundleToTempDirectory ( filename : " CoreDataMigration_Example_1.sqlite " )
181
183
let toVersion = CoreDataMigrationVersion . version4
182
184
183
185
sut. migrateStore ( at: sourceURL, toVersion: toVersion)
@@ -195,20 +197,22 @@ class CoreDataMigratorTests: XCTestCase {
195
197
196
198
XCTAssertEqual ( migratedPosts? . count, 10 )
197
199
XCTAssertEqual ( migratedColors? . count, 20 )
200
+
201
+ tearDownCoreDataStack ( context: context)
198
202
}
199
203
200
204
// MARK: MigrationRequired
201
205
202
206
func test_requiresMigration_fromVersion1ToCurrent_true( ) {
203
- let storeURL = FileManager . moveFileFromBundleToTmpDirectory ( fileName : " CoreDataMigration_Example_1.sqlite " )
207
+ let storeURL = FileManager . moveFileFromBundleToTempDirectory ( filename : " CoreDataMigration_Example_1.sqlite " )
204
208
205
209
let requiresMigration = sut. requiresMigration ( at: storeURL, toVersion: CoreDataMigrationVersion . latest)
206
210
207
211
XCTAssertTrue ( requiresMigration)
208
212
}
209
213
210
214
func test_requiresMigration_fromVersion3ToVersion3_false( ) {
211
- let storeURL = FileManager . moveFileFromBundleToTmpDirectory ( fileName : " CoreDataMigration_Example_3.sqlite " )
215
+ let storeURL = FileManager . moveFileFromBundleToTempDirectory ( filename : " CoreDataMigration_Example_3.sqlite " )
212
216
213
217
let requiresMigration = sut. requiresMigration ( at: storeURL, toVersion: . version3)
214
218
0 commit comments