     }
 
     func testSaveDealers() {
-        let dealers = [DealerCharacteristics].random
-        store.performTransaction { (transaction) in
-            transaction.saveDealers(dealers)
-        }
-
-        recreateStore()
-        let actual = store.fetchDealers()
-
-        assertThat(dealers, isEqualTo: actual)
+        verifySaving(for: [DealerCharacteristics].random,
+                     savingBlock: { $0.saveDealers },
+                     loadingBlock: { $0.fetchDealers })
     }
 
     func testUpdateExistingDealersByIdentifier() {

    }

    func testSaveKnowledgeGroups() {
        let expected = [KnowledgeGroupCharacteristics].random
        store.performTransaction { (transaction) in
            transaction.saveKnowledgeGroups(expected)
        }

        recreateStore()
        let actual = store.fetchKnowledgeGroups()

        assertThat(expected, isEqualTo: actual)
    }

    func testUpdateExistingKnowledgeGroupsByIdentifier() {

    }

    func testSaveAnnouncements() {
        verifySaving(for: [AnnouncementCharacteristics].random,
                     savingBlock: { $0.saveAnnouncements },
                     loadingBlock: { $0.fetchAnnouncements })
    }

    func testUpdateExistingAnnouncementsByIdentifier() {
