     }
 
     func testSaveKnowledgeEntries() {
-        let expected = [KnowledgeEntryCharacteristics].random.sorted()
-        store.performTransaction { (transaction) in
-            transaction.saveKnowledgeEntries(expected)
-        }
-
-        recreateStore()
-        let actual = store.fetchKnowledgeEntries()
-
-        assertThat(expected, isEqualTo: actual?.sorted())
+        verifySaving(for: [KnowledgeEntryCharacteristics].random,
+                     savingBlock: { $0.saveKnowledgeEntries },
+                     loadingBlock: { $0.fetchKnowledgeEntries })
     }
 
     func testUpdateExistingKnowledgeEntriesByIdentifier() {

    }

    func testSaveDealers() {
        let dealers = [DealerCharacteristics].random
        store.performTransaction { (transaction) in
            transaction.saveDealers(dealers)
        }

        recreateStore()
        let actual = store.fetchDealers()

        assertThat(dealers, isEqualTo: actual)
    }

    func testUpdateExistingDealersByIdentifier() {

    }

    func testSaveConferenceDays() {
        verifySaving(for: [ConferenceDayCharacteristics].random,
                     savingBlock: { $0.saveConferenceDays },
                     loadingBlock: { $0.fetchConferenceDays })
    }

    func testUpdateExistingConferenceDaysByIdentifier() {
