| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- //
- // CachedCarbObjectTests.swift
- // LoopKitTests
- //
- // Copyright © 2018 LoopKit Authors. All rights reserved.
- //
- import XCTest
- @testable import LoopKit
- class CachedCarbObjectTests: PersistenceControllerTestCase {
- func testUUIDUniqueConstraint() {
- cacheStore.managedObjectContext.performAndWait {
- let uuid = UUID()
- let object1 = CachedCarbObject(context: cacheStore.managedObjectContext)
- object1.setDefaultValues()
- object1.uuid = uuid
- try! cacheStore.managedObjectContext.save()
- let object2 = CachedCarbObject(context: cacheStore.managedObjectContext)
- object2.setDefaultValues()
- object2.uuid = uuid
- try! cacheStore.managedObjectContext.save()
- let objects: [CachedCarbObject] = cacheStore.managedObjectContext.all()
- XCTAssertEqual(1, objects.count)
- }
- }
- func testSyncIdentifierUniqueConstraint() {
- cacheStore.managedObjectContext.performAndWait {
- let uuid = UUID()
- let object1 = CachedCarbObject(context: cacheStore.managedObjectContext)
- object1.setDefaultValues()
- object1.syncIdentifier = uuid.uuidString
- try! cacheStore.managedObjectContext.save()
- let object2 = CachedCarbObject(context: cacheStore.managedObjectContext)
- object2.setDefaultValues()
- object2.syncIdentifier = uuid.uuidString
- try! cacheStore.managedObjectContext.save()
- let objects: [CachedCarbObject] = cacheStore.managedObjectContext.all()
- XCTAssertEqual(1, objects.count)
- }
- }
- func testAllUniqueConstraints() {
- cacheStore.managedObjectContext.performAndWait {
- let uuid = UUID()
- let object1 = CachedCarbObject(context: cacheStore.managedObjectContext)
- object1.setDefaultValues()
- object1.uuid = uuid
- object1.syncIdentifier = uuid.uuidString
- try! cacheStore.managedObjectContext.save()
- let object2 = CachedCarbObject(context: cacheStore.managedObjectContext)
- object2.setDefaultValues()
- object2.uuid = uuid
- object2.syncIdentifier = uuid.uuidString
- try! cacheStore.managedObjectContext.save()
- let objects: [CachedCarbObject] = cacheStore.managedObjectContext.all()
- XCTAssertEqual(1, objects.count)
- }
- }
- func testSaveWithDefaultValues() {
- cacheStore.managedObjectContext.performAndWait {
- let object1 = CachedCarbObject(context: cacheStore.managedObjectContext)
- object1.setDefaultValues()
- try! cacheStore.managedObjectContext.save()
- let object2 = CachedCarbObject(context: cacheStore.managedObjectContext)
- object2.setDefaultValues()
- try! cacheStore.managedObjectContext.save()
- let objects: [CachedCarbObject] = cacheStore.managedObjectContext.all()
- XCTAssertEqual(2, objects.count)
- }
- }
- }
- extension CachedCarbObject {
- fileprivate func setDefaultValues() {
- createdByCurrentApp = true
- startDate = Date()
- }
- }
|