     }
 
     func testSaveEvents() {
-        let expected = [EventCharacteristics].random
-        store.performTransaction { (transaction) in
-            transaction.saveEvents(expected)
-        }
-
-        recreateStore()
-        let actual = store.fetchEvents()
-
-        assertThat(expected, isEqualTo: actual)
+        verifySaving(for: [EventCharacteristics].random,
+                     savingBlock: { $0.saveEvents },
+                     loadingBlock: { $0.fetchEvents })
     }
 
     func testUpdateExistingEventsByIdentifier() {

    }

    func testSaveRooms() {
        let expected = [RoomCharacteristics].random
        store.performTransaction { (transaction) in
            transaction.saveRooms(expected)
        }

        recreateStore()
        let actual = store.fetchRooms()

        assertThat(expected, isEqualTo: actual)
    }

    func testUpdateExistingRoomsByIdentifier() {

    }

    func testSaveTracks() {
        verifySaving(for: [TrackCharacteristics].random,
                     savingBlock: { $0.saveTracks },
                     loadingBlock: { $0.fetchTracks })
    }

    func testUpdateExistingTracksByIdentifier() {
