| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- //
- // CachedGlucoseObjectTests.swift
- // LoopKitTests
- //
- // Copyright © 2018 LoopKit Authors. All rights reserved.
- //
- import XCTest
- @testable import LoopKit
- class CachedGlucoseObjectTests: PersistenceControllerTestCase {
- func testUUIDUniqueConstraint() {
- cacheStore.managedObjectContext.performAndWait {
- let uuid = UUID()
- let object1 = CachedGlucoseObject(context: cacheStore.managedObjectContext)
- object1.setDefaultValues()
- object1.uuid = uuid
- try! cacheStore.managedObjectContext.save()
- let object2 = CachedGlucoseObject(context: cacheStore.managedObjectContext)
- object2.setDefaultValues()
- object2.uuid = uuid
- try! cacheStore.managedObjectContext.save()
- let objects: [CachedGlucoseObject] = cacheStore.managedObjectContext.all()
- XCTAssertEqual(1, objects.count)
- }
- }
- func testSyncIdentifierUniqueConstraint() {
- cacheStore.managedObjectContext.performAndWait {
- let uuid = UUID()
- let object1 = CachedGlucoseObject(context: cacheStore.managedObjectContext)
- object1.setDefaultValues()
- object1.syncIdentifier = uuid.uuidString
- try! cacheStore.managedObjectContext.save()
- let object2 = CachedGlucoseObject(context: cacheStore.managedObjectContext)
- object2.setDefaultValues()
- object2.syncIdentifier = uuid.uuidString
- try! cacheStore.managedObjectContext.save()
- let objects: [CachedGlucoseObject] = cacheStore.managedObjectContext.all()
- XCTAssertEqual(1, objects.count)
- }
- }
- func testAllUniqueConstraints() {
- cacheStore.managedObjectContext.performAndWait {
- let uuid = UUID()
- let object1 = CachedGlucoseObject(context: cacheStore.managedObjectContext)
- object1.setDefaultValues()
- object1.uuid = uuid
- object1.syncIdentifier = uuid.uuidString
- try! cacheStore.managedObjectContext.save()
- let object2 = CachedGlucoseObject(context: cacheStore.managedObjectContext)
- object2.setDefaultValues()
- object2.uuid = uuid
- object2.syncIdentifier = uuid.uuidString
- try! cacheStore.managedObjectContext.save()
- let objects: [CachedGlucoseObject] = cacheStore.managedObjectContext.all()
- XCTAssertEqual(1, objects.count)
- }
- }
- func testSaveWithDefaultValues() {
- cacheStore.managedObjectContext.performAndWait {
- let object1 = CachedGlucoseObject(context: cacheStore.managedObjectContext)
- object1.setDefaultValues()
- try! cacheStore.managedObjectContext.save()
- let object2 = CachedGlucoseObject(context: cacheStore.managedObjectContext)
- object2.setDefaultValues()
- try! cacheStore.managedObjectContext.save()
- let objects: [CachedGlucoseObject] = cacheStore.managedObjectContext.all()
- XCTAssertEqual(2, objects.count)
- }
- }
- }
- extension CachedGlucoseObject {
- fileprivate func setDefaultValues() {
- provenanceIdentifier = "CachedGlucoseObjectTests"
- startDate = Date()
- uuid = UUID()
- syncIdentifier = uuid!.uuidString
- unitString = "mg/dL"
- value = 99
- }
- }
|