mirror of
https://github.com/JohnEstropia/CoreStore.git
synced 2026-03-14 14:21:38 +01:00
WIP: broken generics
This commit is contained in:
@@ -37,11 +37,11 @@ class BaseTestCase: XCTestCase {
|
||||
|
||||
@nonobjc
|
||||
@discardableResult
|
||||
func prepareStack<T>(configurations: [String?] = [nil], _ closure: @noescape (dataStack: DataStack) -> T) -> T {
|
||||
func prepareStack<T>(configurations: [String?] = [nil], _ closure: (_ dataStack: DataStack) -> T) -> T {
|
||||
|
||||
let stack = DataStack(
|
||||
modelName: "Model",
|
||||
bundle: Bundle(for: self.dynamicType)
|
||||
bundle: Bundle(for: type(of: self))
|
||||
)
|
||||
do {
|
||||
|
||||
@@ -49,9 +49,9 @@ class BaseTestCase: XCTestCase {
|
||||
|
||||
try stack.addStorageAndWait(
|
||||
SQLiteStore(
|
||||
fileURL: try SQLiteStore.defaultRootDirectory
|
||||
fileURL: SQLiteStore.defaultRootDirectory
|
||||
.appendingPathComponent(UUID().uuidString)
|
||||
.appendingPathComponent("\(self.dynamicType)_\(($0 ?? "-null-")).sqlite"),
|
||||
.appendingPathComponent("\(type(of: self))_\(($0 ?? "-null-")).sqlite"),
|
||||
configuration: $0,
|
||||
localStorageOptions: .recreateStoreOnModelMismatch
|
||||
)
|
||||
@@ -62,11 +62,11 @@ class BaseTestCase: XCTestCase {
|
||||
|
||||
XCTFail(error.coreStoreDumpString)
|
||||
}
|
||||
return closure(dataStack: stack)
|
||||
return closure(stack)
|
||||
}
|
||||
|
||||
@nonobjc
|
||||
func expectLogger<T>(_ expectations: [TestLogger.Expectation], closure: @noescape () -> T) -> T {
|
||||
func expectLogger<T>(_ expectations: [TestLogger.Expectation], closure: () -> T) -> T {
|
||||
|
||||
CoreStore.logger = TestLogger(self.prepareLoggerExpectations(expectations))
|
||||
defer {
|
||||
@@ -89,7 +89,7 @@ class BaseTestCase: XCTestCase {
|
||||
var testExpectations: [TestLogger.Expectation: XCTestExpectation] = [:]
|
||||
for expectation in expectations {
|
||||
|
||||
testExpectations[expectation] = self.expectation(withDescription: "Logger Expectation: \(expectation)")
|
||||
testExpectations[expectation] = self.expectation(description: "Logger Expectation: \(expectation)")
|
||||
}
|
||||
return testExpectations
|
||||
}
|
||||
@@ -97,13 +97,13 @@ class BaseTestCase: XCTestCase {
|
||||
@nonobjc
|
||||
func checkExpectationsImmediately() {
|
||||
|
||||
self.waitForExpectations(withTimeout: 0, handler: nil)
|
||||
self.waitForExpectations(timeout: 0, handler: nil)
|
||||
}
|
||||
|
||||
@nonobjc
|
||||
func waitAndCheckExpectations() {
|
||||
|
||||
self.waitForExpectations(withTimeout: 10, handler: nil)
|
||||
self.waitForExpectations(timeout: 10, handler: nil)
|
||||
}
|
||||
|
||||
// MARK: XCTestCase
|
||||
|
||||
@@ -20,8 +20,8 @@ class BaseTestDataTestCase: BaseTestCase {
|
||||
let dateFormatter: DateFormatter = {
|
||||
|
||||
let formatter = DateFormatter()
|
||||
formatter.locale = Locale(localeIdentifier: "en_US_POSIX")
|
||||
formatter.timeZone = TimeZone(name: "UTC")
|
||||
formatter.locale = Locale(identifier: "en_US_POSIX")
|
||||
formatter.timeZone = TimeZone(identifier: "UTC")
|
||||
formatter.calendar = Calendar(identifier: Calendar.Identifier.gregorian)
|
||||
formatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ssZ"
|
||||
return formatter
|
||||
@@ -42,9 +42,9 @@ class BaseTestDataTestCase: BaseTestCase {
|
||||
let object = transaction.create(Into<TestEntity1>(configuration))
|
||||
object.testEntityID = NSNumber(value: (configurationOrdinal * 100) + idIndex)
|
||||
|
||||
object.testNumber = idIndex
|
||||
object.testNumber = NSNumber(value: idIndex)
|
||||
object.testDate = self.dateFormatter.date(from: "2000-\(configurationOrdinal)-\(idIndex)T00:00:00Z")
|
||||
object.testBoolean = (idIndex % 2) == 1
|
||||
object.testBoolean = NSNumber(value: (idIndex % 2) == 1)
|
||||
object.testDecimal = NSDecimalNumber(string: "\(idIndex)")
|
||||
|
||||
let string = "\(configuration ?? "nil"):TestEntity1:\(idIndex)"
|
||||
@@ -59,9 +59,9 @@ class BaseTestDataTestCase: BaseTestCase {
|
||||
let object = transaction.create(Into<TestEntity2>(configuration))
|
||||
object.testEntityID = NSNumber(value: (configurationOrdinal * 200) + idIndex)
|
||||
|
||||
object.testNumber = idIndex
|
||||
object.testNumber = NSNumber(value: idIndex)
|
||||
object.testDate = self.dateFormatter.date(from: "2000-\(configurationOrdinal)-\(idIndex)T00:00:00Z")
|
||||
object.testBoolean = (idIndex % 2) == 1
|
||||
object.testBoolean = NSNumber(value: (idIndex % 2) == 1)
|
||||
object.testDecimal = NSDecimalNumber(string: "\(idIndex)")
|
||||
|
||||
let string = "\(configuration ?? "nil"):TestEntity2:\(idIndex)"
|
||||
@@ -70,7 +70,7 @@ class BaseTestDataTestCase: BaseTestCase {
|
||||
}
|
||||
}
|
||||
}
|
||||
transaction.commitAndWait()
|
||||
_ = transaction.commitAndWait()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,13 +46,13 @@ final class ErrorTests: XCTestCase {
|
||||
XCTAssertEqual(error, objcError.bridgeToSwift)
|
||||
XCTAssertEqual(objcError.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError.code, CoreStoreErrorCode.unknownError.rawValue)
|
||||
XCTAssertEqual(objcError.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError.userInfo as NSDictionary, userInfo)
|
||||
|
||||
let objcError2 = objcError.bridgeToSwift.bridgeToObjectiveC
|
||||
XCTAssertEqual(error, objcError2.bridgeToSwift)
|
||||
XCTAssertEqual(objcError2.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError2.code, CoreStoreErrorCode.unknownError.rawValue)
|
||||
XCTAssertEqual(objcError2.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError2.userInfo as NSDictionary, userInfo)
|
||||
}
|
||||
|
||||
@objc
|
||||
@@ -71,13 +71,13 @@ final class ErrorTests: XCTestCase {
|
||||
XCTAssertEqual(error, objcError.bridgeToSwift)
|
||||
XCTAssertEqual(objcError.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError.code, CoreStoreErrorCode.differentStorageExistsAtURL.rawValue)
|
||||
XCTAssertEqual(objcError.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError.userInfo as NSDictionary, userInfo)
|
||||
|
||||
let objcError2 = objcError.bridgeToSwift.bridgeToObjectiveC
|
||||
XCTAssertEqual(error, objcError2.bridgeToSwift)
|
||||
XCTAssertEqual(objcError2.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError2.code, CoreStoreErrorCode.differentStorageExistsAtURL.rawValue)
|
||||
XCTAssertEqual(objcError2.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError2.userInfo as NSDictionary, userInfo)
|
||||
}
|
||||
|
||||
@objc
|
||||
@@ -85,7 +85,7 @@ final class ErrorTests: XCTestCase {
|
||||
|
||||
let dummyURL = URL(string: "file:///test1/test2.sqlite")!
|
||||
|
||||
let model = NSManagedObjectModel.fromBundle(Bundle(for: self.dynamicType), modelName: "Model")
|
||||
let model = NSManagedObjectModel.fromBundle(Bundle(for: type(of: self)), modelName: "Model")
|
||||
let version = "1.0.0"
|
||||
|
||||
let error = CoreStoreError.mappingModelNotFound(localStoreURL: dummyURL, targetModel: model, targetModelVersion: version)
|
||||
@@ -101,13 +101,13 @@ final class ErrorTests: XCTestCase {
|
||||
XCTAssertEqual(error, objcError.bridgeToSwift)
|
||||
XCTAssertEqual(objcError.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError.code, CoreStoreErrorCode.mappingModelNotFound.rawValue)
|
||||
XCTAssertEqual(objcError.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError.userInfo as NSDictionary, userInfo)
|
||||
|
||||
let objcError2 = objcError.bridgeToSwift.bridgeToObjectiveC
|
||||
XCTAssertEqual(error, objcError2.bridgeToSwift)
|
||||
XCTAssertEqual(objcError2.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError2.code, CoreStoreErrorCode.mappingModelNotFound.rawValue)
|
||||
XCTAssertEqual(objcError2.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError2.userInfo as NSDictionary, userInfo)
|
||||
}
|
||||
|
||||
@objc
|
||||
@@ -126,13 +126,13 @@ final class ErrorTests: XCTestCase {
|
||||
XCTAssertEqual(error, objcError.bridgeToSwift)
|
||||
XCTAssertEqual(objcError.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError.code, CoreStoreErrorCode.progressiveMigrationRequired.rawValue)
|
||||
XCTAssertEqual(objcError.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError.userInfo as NSDictionary, userInfo)
|
||||
|
||||
let objcError2 = objcError.bridgeToSwift.bridgeToObjectiveC
|
||||
XCTAssertEqual(error, objcError2.bridgeToSwift)
|
||||
XCTAssertEqual(objcError2.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError2.code, CoreStoreErrorCode.progressiveMigrationRequired.rawValue)
|
||||
XCTAssertEqual(objcError2.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError2.userInfo as NSDictionary, userInfo)
|
||||
}
|
||||
|
||||
@objc
|
||||
@@ -158,12 +158,12 @@ final class ErrorTests: XCTestCase {
|
||||
XCTAssertEqual(error, objcError.bridgeToSwift)
|
||||
XCTAssertEqual(objcError.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError.code, CoreStoreErrorCode.internalError.rawValue)
|
||||
XCTAssertEqual(objcError.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError.userInfo as NSDictionary, userInfo)
|
||||
|
||||
let objcError2 = objcError.bridgeToSwift.bridgeToObjectiveC
|
||||
XCTAssertEqual(error, objcError2.bridgeToSwift)
|
||||
XCTAssertEqual(objcError2.domain, CoreStoreErrorDomain)
|
||||
XCTAssertEqual(objcError2.code, CoreStoreErrorCode.internalError.rawValue)
|
||||
XCTAssertEqual(objcError2.userInfo, userInfo)
|
||||
XCTAssertEqual(objcError2.userInfo as NSDictionary, userInfo)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ final class FetchTests: BaseTestDataTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let fetchExpectation = self.expectation(withDescription: "fetch")
|
||||
let fetchExpectation = self.expectation(description: "fetch")
|
||||
|
||||
var existing1: TestEntity1?
|
||||
stack.beginSynchronous { (transaction) in
|
||||
@@ -88,7 +88,7 @@ final class FetchTests: BaseTestDataTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let fetchExpectation = self.expectation(withDescription: "fetch")
|
||||
let fetchExpectation = self.expectation(description: "fetch")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
let existing1 = transaction.fetchExisting(object)
|
||||
@@ -162,7 +162,7 @@ final class FetchTests: BaseTestDataTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let fetchExpectation = self.expectation(withDescription: "fetch")
|
||||
let fetchExpectation = self.expectation(description: "fetch")
|
||||
|
||||
var existing1 = [TestEntity1]()
|
||||
stack.beginSynchronous { (transaction) in
|
||||
@@ -191,7 +191,7 @@ final class FetchTests: BaseTestDataTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let fetchExpectation = self.expectation(withDescription: "fetch")
|
||||
let fetchExpectation = self.expectation(description: "fetch")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
let existing1 = transaction.fetchExisting(objects)
|
||||
|
||||
@@ -72,7 +72,7 @@ class ImportTests: BaseTestDataTestCase {
|
||||
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let errorExpectation = self.expectation(withDescription: "error")
|
||||
let errorExpectation = self.expectation(description: "error")
|
||||
do {
|
||||
|
||||
let _ = try transaction.importObject(
|
||||
@@ -215,8 +215,8 @@ class ImportTests: BaseTestDataTestCase {
|
||||
XCTAssertEqual(object.testNumber, dictionary["testNumber"] as? NSNumber)
|
||||
XCTAssertEqual(object.testDecimal, dictionary["testDecimal"] as? NSDecimalNumber)
|
||||
XCTAssertEqual(object.testString, dictionary["testString"] as? String)
|
||||
XCTAssertEqual(object.testData, dictionary["testData"] as? NSData)
|
||||
XCTAssertEqual(object.testDate, dictionary["testDate"] as? NSDate)
|
||||
XCTAssertEqual(object.testData, dictionary["testData"] as? Data)
|
||||
XCTAssertEqual(object.testDate, dictionary["testDate"] as? Date)
|
||||
}
|
||||
catch {
|
||||
|
||||
@@ -234,7 +234,7 @@ class ImportTests: BaseTestDataTestCase {
|
||||
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let errorExpectation = self.expectation(withDescription: "error")
|
||||
let errorExpectation = self.expectation(description: "error")
|
||||
do {
|
||||
|
||||
let sourceArray: [TestEntity1.ImportSource] = [
|
||||
@@ -331,8 +331,8 @@ class ImportTests: BaseTestDataTestCase {
|
||||
XCTAssertEqual(object.testNumber, dictionary["testNumber"] as? NSNumber)
|
||||
XCTAssertEqual(object.testDecimal, dictionary["testDecimal"] as? NSDecimalNumber)
|
||||
XCTAssertEqual(object.testString, dictionary["testString"] as? String)
|
||||
XCTAssertEqual(object.testData, dictionary["testData"] as? NSData)
|
||||
XCTAssertEqual(object.testDate, dictionary["testDate"] as? NSDate)
|
||||
XCTAssertEqual(object.testData, dictionary["testData"] as? Data)
|
||||
XCTAssertEqual(object.testDate, dictionary["testDate"] as? Date)
|
||||
}
|
||||
}
|
||||
catch {
|
||||
@@ -425,7 +425,7 @@ class ImportTests: BaseTestDataTestCase {
|
||||
|
||||
do {
|
||||
|
||||
let errorExpectation = self.expectation(withDescription: "error")
|
||||
let errorExpectation = self.expectation(description: "error")
|
||||
do {
|
||||
|
||||
let _ = try transaction.importUniqueObject(
|
||||
@@ -466,7 +466,7 @@ class ImportTests: BaseTestDataTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let errorExpectation = self.expectation(withDescription: "error")
|
||||
let errorExpectation = self.expectation(description: "error")
|
||||
do {
|
||||
|
||||
let _ = try transaction.importUniqueObject(
|
||||
@@ -639,8 +639,8 @@ class ImportTests: BaseTestDataTestCase {
|
||||
XCTAssertEqual(object.testNumber, dictionary["testNumber"] as? NSNumber)
|
||||
XCTAssertEqual(object.testDecimal, dictionary["testDecimal"] as? NSDecimalNumber)
|
||||
XCTAssertEqual(object.testString, dictionary["testString"] as? String)
|
||||
XCTAssertEqual(object.testData, dictionary["testData"] as? NSData)
|
||||
XCTAssertEqual(object.testDate, dictionary["testDate"] as? NSDate)
|
||||
XCTAssertEqual(object.testData, dictionary["testData"] as? Data)
|
||||
XCTAssertEqual(object.testDate, dictionary["testDate"] as? Date)
|
||||
}
|
||||
catch {
|
||||
|
||||
@@ -660,7 +660,7 @@ class ImportTests: BaseTestDataTestCase {
|
||||
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let errorExpectation = self.expectation(withDescription: "error")
|
||||
let errorExpectation = self.expectation(description: "error")
|
||||
do {
|
||||
|
||||
let sourceArray: [TestEntity1.ImportSource] = [
|
||||
@@ -707,7 +707,7 @@ class ImportTests: BaseTestDataTestCase {
|
||||
}
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let errorExpectation = self.expectation(withDescription: "error")
|
||||
let errorExpectation = self.expectation(description: "error")
|
||||
do {
|
||||
|
||||
let sourceArray: [TestEntity1.ImportSource] = [
|
||||
@@ -760,7 +760,7 @@ class ImportTests: BaseTestDataTestCase {
|
||||
}
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let errorExpectation = self.expectation(withDescription: "error")
|
||||
let errorExpectation = self.expectation(description: "error")
|
||||
do {
|
||||
|
||||
let sourceArray: [TestEntity1.ImportSource] = [
|
||||
@@ -860,8 +860,8 @@ class ImportTests: BaseTestDataTestCase {
|
||||
XCTAssertEqual(object.testNumber, dictionary["testNumber"] as? NSNumber)
|
||||
XCTAssertEqual(object.testDecimal, dictionary["testDecimal"] as? NSDecimalNumber)
|
||||
XCTAssertEqual(object.testString, dictionary["testString"] as? String)
|
||||
XCTAssertEqual(object.testData, dictionary["testData"] as? NSData)
|
||||
XCTAssertEqual(object.testDate, dictionary["testDate"] as? NSDate)
|
||||
XCTAssertEqual(object.testData, dictionary["testData"] as? Data)
|
||||
XCTAssertEqual(object.testDate, dictionary["testDate"] as? Date)
|
||||
}
|
||||
let existingObjects = transaction.fetchAll(From<TestEntity1>(), Where("testEntityID", isEqualTo: 105))
|
||||
XCTAssertNotNil(existingObjects)
|
||||
@@ -883,17 +883,17 @@ class ImportTests: BaseTestDataTestCase {
|
||||
|
||||
// MARK: - TestInsertError
|
||||
|
||||
private struct TestInsertError: ErrorProtocol {}
|
||||
private struct TestInsertError: Error {}
|
||||
|
||||
|
||||
// MARK: - TestUpdateError
|
||||
|
||||
private struct TestUpdateError: ErrorProtocol {}
|
||||
private struct TestUpdateError: Error {}
|
||||
|
||||
|
||||
// MARK: - TestIDError
|
||||
|
||||
private struct TestIDError: ErrorProtocol {}
|
||||
private struct TestIDError: Error {}
|
||||
|
||||
|
||||
// MARK: - TestEntity1
|
||||
@@ -902,14 +902,14 @@ extension TestEntity1: ImportableUniqueObject {
|
||||
|
||||
// MARK: ImportableObject
|
||||
|
||||
typealias ImportSource = [String: AnyObject]
|
||||
typealias ImportSource = [String: Any]
|
||||
|
||||
static func shouldInsertFromImportSource(_ source: [String: AnyObject], inTransaction transaction: BaseDataTransaction) -> Bool {
|
||||
static func shouldInsertFromImportSource(_ source: ImportSource, inTransaction transaction: BaseDataTransaction) -> Bool {
|
||||
|
||||
return source["skip_insert"] == nil
|
||||
}
|
||||
|
||||
func didInsertFromImportSource(_ source: [String: AnyObject], inTransaction transaction: BaseDataTransaction) throws {
|
||||
func didInsertFromImportSource(_ source: ImportSource, inTransaction transaction: BaseDataTransaction) throws {
|
||||
|
||||
if let _ = source["throw_on_insert"] {
|
||||
|
||||
@@ -951,12 +951,12 @@ extension TestEntity1: ImportableUniqueObject {
|
||||
}
|
||||
}
|
||||
|
||||
static func shouldUpdateFromImportSource(_ source: [String: AnyObject], inTransaction transaction: BaseDataTransaction) -> Bool {
|
||||
static func shouldUpdateFromImportSource(_ source: ImportSource, inTransaction transaction: BaseDataTransaction) -> Bool {
|
||||
|
||||
return source["skip_update"] == nil
|
||||
}
|
||||
|
||||
static func uniqueIDFromImportSource(_ source: [String: AnyObject], inTransaction transaction: BaseDataTransaction) throws -> NSNumber? {
|
||||
static func uniqueIDFromImportSource(_ source: ImportSource, inTransaction transaction: BaseDataTransaction) throws -> NSNumber? {
|
||||
|
||||
if let _ = source["throw_on_id"] {
|
||||
|
||||
@@ -965,7 +965,7 @@ extension TestEntity1: ImportableUniqueObject {
|
||||
return source["testEntityID"] as? NSNumber
|
||||
}
|
||||
|
||||
func updateFromImportSource(_ source: [String: AnyObject], inTransaction transaction: BaseDataTransaction) throws {
|
||||
func updateFromImportSource(_ source: ImportSource, inTransaction transaction: BaseDataTransaction) throws {
|
||||
|
||||
if let _ = source["throw_on_update"] {
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
handler: { (note) -> Bool in
|
||||
|
||||
XCTAssertEqual(events, 0)
|
||||
XCTAssertEqual(((note as NSNotification).userInfo ?? [:]), NSDictionary())
|
||||
XCTAssertEqual((note.userInfo as NSDictionary?) ?? [:], NSDictionary())
|
||||
defer {
|
||||
|
||||
events += 1
|
||||
@@ -75,7 +75,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssertEqual(events, 1)
|
||||
XCTAssertEqual(
|
||||
((note as NSNotification).userInfo ?? [:]),
|
||||
((note.userInfo as NSDictionary?) ?? [:]),
|
||||
[
|
||||
"sectionInfo": monitor.sectionInfoAtIndex(0),
|
||||
"sectionIndex": 0
|
||||
@@ -95,10 +95,10 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssertEqual(events, 2)
|
||||
|
||||
let userInfo = (note as NSNotification).userInfo
|
||||
let userInfo = note.userInfo
|
||||
XCTAssertNotNil(userInfo)
|
||||
XCTAssertEqual(
|
||||
Set(((userInfo as? [String: AnyObject]) ?? [:]).keys),
|
||||
Set(userInfo?.keys.map({ $0 as! String }) ?? []),
|
||||
["indexPath", "object"]
|
||||
)
|
||||
|
||||
@@ -125,7 +125,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
object: observer,
|
||||
handler: { (note) -> Bool in
|
||||
|
||||
XCTAssertEqual(((note as NSNotification).userInfo ?? [:]), NSDictionary())
|
||||
XCTAssertEqual((note.userInfo as NSDictionary?) ?? [:], NSDictionary())
|
||||
defer {
|
||||
|
||||
events += 1
|
||||
@@ -133,7 +133,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
return events == 3
|
||||
}
|
||||
)
|
||||
let saveExpectation = self.expectation(withDescription: "save")
|
||||
let saveExpectation = self.expectation(description: "save")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
let object = transaction.create(Into<TestEntity1>())
|
||||
@@ -191,7 +191,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
handler: { (note) -> Bool in
|
||||
|
||||
XCTAssertEqual(events, 0)
|
||||
XCTAssertEqual(((note as NSNotification).userInfo ?? [:]), NSDictionary())
|
||||
XCTAssertEqual((note.userInfo as NSDictionary?) ?? [:], NSDictionary())
|
||||
defer {
|
||||
|
||||
events += 1
|
||||
@@ -208,10 +208,10 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssert(events == 1 || events == 2)
|
||||
|
||||
let userInfo = (note as NSNotification).userInfo
|
||||
let userInfo = note.userInfo
|
||||
XCTAssertNotNil(userInfo)
|
||||
XCTAssertEqual(
|
||||
Set(((userInfo as? [String: AnyObject]) ?? [:]).keys),
|
||||
Set(userInfo?.keys.map({ $0 as! String }) ?? []),
|
||||
["indexPath", "object"]
|
||||
)
|
||||
|
||||
@@ -259,7 +259,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
handler: { (note) -> Bool in
|
||||
|
||||
XCTAssertEqual(events, 3)
|
||||
XCTAssertEqual(((note as NSNotification).userInfo ?? [:]), NSDictionary())
|
||||
XCTAssertEqual((note.userInfo as NSDictionary?) ?? [:], NSDictionary())
|
||||
defer {
|
||||
|
||||
events += 1
|
||||
@@ -267,7 +267,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
return events == 3
|
||||
}
|
||||
)
|
||||
let saveExpectation = self.expectation(withDescription: "save")
|
||||
let saveExpectation = self.expectation(description: "save")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
if let object = transaction.fetchOne(
|
||||
@@ -338,7 +338,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
handler: { (note) -> Bool in
|
||||
|
||||
XCTAssertEqual(events, 0)
|
||||
XCTAssertEqual(((note as NSNotification).userInfo ?? [:]), NSDictionary())
|
||||
XCTAssertEqual((note.userInfo as NSDictionary?) ?? [:], NSDictionary())
|
||||
defer {
|
||||
|
||||
events += 1
|
||||
@@ -353,10 +353,10 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssertEqual(events, 1)
|
||||
|
||||
let userInfo = (note as NSNotification).userInfo
|
||||
let userInfo = note.userInfo
|
||||
XCTAssertNotNil(userInfo)
|
||||
XCTAssertEqual(
|
||||
Set(((userInfo as? [String: AnyObject]) ?? [:]).keys),
|
||||
Set(userInfo?.keys.map({ $0 as! String }) ?? []),
|
||||
["fromIndexPath", "toIndexPath", "object"]
|
||||
)
|
||||
|
||||
@@ -385,7 +385,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
handler: { (note) -> Bool in
|
||||
|
||||
XCTAssertEqual(events, 2)
|
||||
XCTAssertEqual(((note as NSNotification).userInfo ?? [:]), NSDictionary())
|
||||
XCTAssertEqual((note.userInfo as NSDictionary?) ?? [:], NSDictionary())
|
||||
defer {
|
||||
|
||||
events += 1
|
||||
@@ -393,7 +393,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
return events == 2
|
||||
}
|
||||
)
|
||||
let saveExpectation = self.expectation(withDescription: "save")
|
||||
let saveExpectation = self.expectation(description: "save")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
if let object = transaction.fetchOne(
|
||||
@@ -446,7 +446,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
handler: { (note) -> Bool in
|
||||
|
||||
XCTAssertEqual(events, 0)
|
||||
XCTAssertEqual(((note as NSNotification).userInfo ?? [:]), NSDictionary())
|
||||
XCTAssertEqual((note.userInfo as NSDictionary?) ?? [:], NSDictionary())
|
||||
defer {
|
||||
|
||||
events += 1
|
||||
@@ -463,10 +463,10 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssert(events == 1 || events == 2)
|
||||
|
||||
let userInfo = (note as NSNotification).userInfo
|
||||
let userInfo = note.userInfo
|
||||
XCTAssertNotNil(userInfo)
|
||||
XCTAssertEqual(
|
||||
Set(((userInfo as? [String: AnyObject]) ?? [:]).keys),
|
||||
Set(userInfo?.keys.map({ $0 as! String }) ?? []),
|
||||
["indexPath", "object"]
|
||||
)
|
||||
|
||||
@@ -493,14 +493,14 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssertEqual(events, 3)
|
||||
|
||||
let userInfo = (note as NSNotification).userInfo
|
||||
let userInfo = note.userInfo
|
||||
XCTAssertNotNil(userInfo)
|
||||
XCTAssertEqual(
|
||||
Set(((userInfo as? [String: AnyObject]) ?? [:]).keys),
|
||||
Set(userInfo?.keys.map({ $0 as! String }) ?? []),
|
||||
["sectionInfo", "sectionIndex"]
|
||||
)
|
||||
|
||||
let sectionInfo = userInfo?["sectionInfo"]
|
||||
let sectionInfo = userInfo?["sectionInfo"] as? NSFetchedResultsSectionInfo
|
||||
XCTAssertNotNil(sectionInfo)
|
||||
XCTAssertEqual(sectionInfo?.name, "0")
|
||||
|
||||
@@ -520,7 +520,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
handler: { (note) -> Bool in
|
||||
|
||||
XCTAssertEqual(events, 4)
|
||||
XCTAssertEqual(((note as NSNotification).userInfo ?? [:]), NSDictionary())
|
||||
XCTAssertEqual((note.userInfo as NSDictionary?) ?? [:], NSDictionary())
|
||||
defer {
|
||||
|
||||
events += 1
|
||||
@@ -528,7 +528,7 @@ class ListObserverTests: BaseTestDataTestCase {
|
||||
return events == 4
|
||||
}
|
||||
)
|
||||
let saveExpectation = self.expectation(withDescription: "save")
|
||||
let saveExpectation = self.expectation(description: "save")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
transaction.deleteAll(
|
||||
|
||||
@@ -65,7 +65,7 @@ class ObjectObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssertEqual(events, 0)
|
||||
XCTAssertEqual(
|
||||
((note as NSNotification).userInfo ?? [:]),
|
||||
((note.userInfo as NSDictionary?) ?? [:]),
|
||||
["object": object] as NSDictionary
|
||||
)
|
||||
defer {
|
||||
@@ -82,7 +82,7 @@ class ObjectObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssertEqual(events, 1)
|
||||
XCTAssertEqual(
|
||||
((note as NSNotification).userInfo ?? [:]),
|
||||
((note.userInfo as NSDictionary?) ?? [:]),
|
||||
[
|
||||
"object": object,
|
||||
"changedPersistentKeys": Set(
|
||||
@@ -104,7 +104,7 @@ class ObjectObserverTests: BaseTestDataTestCase {
|
||||
return events == 1
|
||||
}
|
||||
)
|
||||
let saveExpectation = self.expectation(withDescription: "save")
|
||||
let saveExpectation = self.expectation(description: "save")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
guard let object = transaction.edit(object) else {
|
||||
@@ -162,7 +162,7 @@ class ObjectObserverTests: BaseTestDataTestCase {
|
||||
|
||||
XCTAssertEqual(events, 0)
|
||||
XCTAssertEqual(
|
||||
((note as NSNotification).userInfo ?? [:]),
|
||||
((note.userInfo as NSDictionary?) ?? [:]),
|
||||
["object": object] as NSDictionary
|
||||
)
|
||||
defer {
|
||||
@@ -172,7 +172,7 @@ class ObjectObserverTests: BaseTestDataTestCase {
|
||||
return events == 0
|
||||
}
|
||||
)
|
||||
let saveExpectation = self.expectation(withDescription: "save")
|
||||
let saveExpectation = self.expectation(description: "save")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
guard let object = transaction.edit(object) else {
|
||||
|
||||
@@ -39,27 +39,27 @@ final class OrderByTests: XCTestCase {
|
||||
do {
|
||||
|
||||
let orderBy = OrderBy()
|
||||
XCTAssertEqual(orderBy, OrderBy([SortDescriptor]()))
|
||||
XCTAssertNotEqual(orderBy, OrderBy(SortDescriptor(key: "key", ascending: false)))
|
||||
XCTAssertEqual(orderBy, OrderBy([NSSortDescriptor]()))
|
||||
XCTAssertNotEqual(orderBy, OrderBy(NSSortDescriptor(key: "key", ascending: false)))
|
||||
XCTAssertTrue(orderBy.sortDescriptors.isEmpty)
|
||||
}
|
||||
do {
|
||||
|
||||
let sortDescriptor = SortDescriptor(key: "key1", ascending: true)
|
||||
let sortDescriptor = NSSortDescriptor(key: "key1", ascending: true)
|
||||
let orderBy = OrderBy(sortDescriptor)
|
||||
XCTAssertEqual(orderBy, OrderBy(sortDescriptor))
|
||||
XCTAssertEqual(orderBy, OrderBy(.ascending("key1")))
|
||||
XCTAssertNotEqual(orderBy, OrderBy(.ascending("key2")))
|
||||
XCTAssertNotEqual(orderBy, OrderBy(.descending("key1")))
|
||||
XCTAssertNotEqual(orderBy, OrderBy(SortDescriptor(key: "key1", ascending: false)))
|
||||
XCTAssertNotEqual(orderBy, OrderBy(NSSortDescriptor(key: "key1", ascending: false)))
|
||||
XCTAssertEqual(orderBy, OrderBy([sortDescriptor]))
|
||||
XCTAssertEqual(orderBy.sortDescriptors, [sortDescriptor])
|
||||
}
|
||||
do {
|
||||
|
||||
let sortDescriptors = [
|
||||
SortDescriptor(key: "key1", ascending: true),
|
||||
SortDescriptor(key: "key2", ascending: false)
|
||||
NSSortDescriptor(key: "key1", ascending: true),
|
||||
NSSortDescriptor(key: "key2", ascending: false)
|
||||
]
|
||||
let orderBy = OrderBy(sortDescriptors)
|
||||
XCTAssertEqual(orderBy, OrderBy(sortDescriptors))
|
||||
@@ -68,8 +68,8 @@ final class OrderByTests: XCTestCase {
|
||||
orderBy,
|
||||
OrderBy(
|
||||
[
|
||||
SortDescriptor(key: "key1", ascending: false),
|
||||
SortDescriptor(key: "key2", ascending: false)
|
||||
NSSortDescriptor(key: "key1", ascending: false),
|
||||
NSSortDescriptor(key: "key2", ascending: false)
|
||||
]
|
||||
)
|
||||
)
|
||||
@@ -80,7 +80,7 @@ final class OrderByTests: XCTestCase {
|
||||
do {
|
||||
|
||||
let orderBy = OrderBy(.ascending("key1"))
|
||||
let sortDescriptor = SortDescriptor(key: "key1", ascending: true)
|
||||
let sortDescriptor = NSSortDescriptor(key: "key1", ascending: true)
|
||||
XCTAssertEqual(orderBy, OrderBy(sortDescriptor))
|
||||
XCTAssertEqual(orderBy, OrderBy(.ascending("key1")))
|
||||
XCTAssertNotEqual(orderBy, OrderBy(.descending("key1")))
|
||||
@@ -92,8 +92,8 @@ final class OrderByTests: XCTestCase {
|
||||
|
||||
let orderBy = OrderBy(.ascending("key1"), .descending("key2"))
|
||||
let sortDescriptors = [
|
||||
SortDescriptor(key: "key1", ascending: true),
|
||||
SortDescriptor(key: "key2", ascending: false)
|
||||
NSSortDescriptor(key: "key1", ascending: true),
|
||||
NSSortDescriptor(key: "key2", ascending: false)
|
||||
]
|
||||
XCTAssertEqual(orderBy, OrderBy(sortDescriptors))
|
||||
XCTAssertEqual(orderBy, OrderBy(.ascending("key1"), .descending("key2")))
|
||||
@@ -101,8 +101,8 @@ final class OrderByTests: XCTestCase {
|
||||
orderBy,
|
||||
OrderBy(
|
||||
[
|
||||
SortDescriptor(key: "key1", ascending: false),
|
||||
SortDescriptor(key: "key2", ascending: false)
|
||||
NSSortDescriptor(key: "key1", ascending: false),
|
||||
NSSortDescriptor(key: "key2", ascending: false)
|
||||
]
|
||||
)
|
||||
)
|
||||
@@ -115,8 +115,8 @@ final class OrderByTests: XCTestCase {
|
||||
let sortKeys: [SortKey] = [.ascending("key1"), .descending("key2")]
|
||||
let orderBy = OrderBy(sortKeys)
|
||||
let sortDescriptors = [
|
||||
SortDescriptor(key: "key1", ascending: true),
|
||||
SortDescriptor(key: "key2", ascending: false)
|
||||
NSSortDescriptor(key: "key1", ascending: true),
|
||||
NSSortDescriptor(key: "key2", ascending: false)
|
||||
]
|
||||
XCTAssertEqual(orderBy, OrderBy(sortDescriptors))
|
||||
XCTAssertEqual(orderBy, OrderBy(.ascending("key1"), .descending("key2")))
|
||||
@@ -124,8 +124,8 @@ final class OrderByTests: XCTestCase {
|
||||
orderBy,
|
||||
OrderBy(
|
||||
[
|
||||
SortDescriptor(key: "key1", ascending: false),
|
||||
SortDescriptor(key: "key2", ascending: false)
|
||||
NSSortDescriptor(key: "key1", ascending: false),
|
||||
NSSortDescriptor(key: "key2", ascending: false)
|
||||
]
|
||||
)
|
||||
)
|
||||
|
||||
@@ -173,7 +173,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
queryClauses
|
||||
)
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertEqual(value, ("nil:TestEntity1:1" as NSString).data(using: String.Encoding.utf8.rawValue))
|
||||
XCTAssertEqual(value as Data?, "nil:TestEntity1:1".data(using: .utf8))
|
||||
}
|
||||
do {
|
||||
|
||||
@@ -183,7 +183,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
queryClauses
|
||||
)
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertEqual(value, self.dateFormatter.date(from: "2000-01-01T00:00:00Z"))
|
||||
XCTAssertEqual(value as Date?, self.dateFormatter.date(from: "2000-01-01T00:00:00Z"))
|
||||
}
|
||||
do {
|
||||
|
||||
@@ -657,7 +657,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
queryClauses
|
||||
)
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertEqual(value, ("nil:TestEntity1:5" as NSString).data(using: String.Encoding.utf8.rawValue))
|
||||
XCTAssertEqual(value as Data?, "nil:TestEntity1:5".data(using: .utf8))
|
||||
}
|
||||
do {
|
||||
|
||||
@@ -667,7 +667,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
queryClauses
|
||||
)
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertEqual(value, self.dateFormatter.date(from: "2000-01-05T00:00:00Z"))
|
||||
XCTAssertEqual(value as Date?, self.dateFormatter.date(from: "2000-01-05T00:00:00Z"))
|
||||
}
|
||||
do {
|
||||
|
||||
@@ -821,7 +821,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
queryClauses
|
||||
)
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertEqual(value, ("nil:TestEntity1:2" as NSString).data(using: String.Encoding.utf8.rawValue))
|
||||
XCTAssertEqual(value as Data?, "nil:TestEntity1:2".data(using: .utf8))
|
||||
}
|
||||
do {
|
||||
|
||||
@@ -831,7 +831,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
queryClauses
|
||||
)
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertEqual(value, self.dateFormatter.date(from: "2000-01-02T00:00:00Z"))
|
||||
XCTAssertEqual(value as Date?, self.dateFormatter.date(from: "2000-01-02T00:00:00Z"))
|
||||
}
|
||||
do {
|
||||
|
||||
@@ -1170,7 +1170,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
]
|
||||
do {
|
||||
|
||||
let values = stack.queryAttributes(
|
||||
let values: [NSDictionary]? = stack.queryAttributes(
|
||||
from,
|
||||
Select(
|
||||
"testBoolean",
|
||||
@@ -1203,7 +1203,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
"testData": ("nil:TestEntity1:5" as NSString).data(using: String.Encoding.utf8.rawValue)!,
|
||||
"testDate": self.dateFormatter.date(from: "2000-01-05T00:00:00Z")!
|
||||
]
|
||||
]
|
||||
] as [NSDictionary]
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1221,7 +1221,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
let queryClauses: [QueryClause] = []
|
||||
do {
|
||||
|
||||
let values = stack.queryAttributes(
|
||||
let values: [NSDictionary]? = stack.queryAttributes(
|
||||
from,
|
||||
Select(
|
||||
.sum("testBoolean"),
|
||||
@@ -1243,19 +1243,19 @@ class QueryTests: BaseTestDataTestCase {
|
||||
"min(testNumber)": 1,
|
||||
"average(testDecimal)": 3,
|
||||
]
|
||||
]
|
||||
] as [NSDictionary]
|
||||
)
|
||||
}
|
||||
do {
|
||||
|
||||
let values = stack.queryAttributes(
|
||||
let values: [NSDictionary]? = stack.queryAttributes(
|
||||
from,
|
||||
Select(
|
||||
.sum("testBoolean", As: "testSum"),
|
||||
.count("testNumber", As: "testCount"),
|
||||
.maximum("testNumber", As: "testMaximum"),
|
||||
.minimum("testNumber", As: "testMinimum"),
|
||||
.average("testDecimal", As: "testAverage")
|
||||
.sum("testBoolean", as: "testSum"),
|
||||
.count("testNumber", as: "testCount"),
|
||||
.maximum("testNumber", as: "testMaximum"),
|
||||
.minimum("testNumber", as: "testMinimum"),
|
||||
.average("testDecimal", as: "testAverage")
|
||||
),
|
||||
queryClauses
|
||||
)
|
||||
@@ -1270,7 +1270,7 @@ class QueryTests: BaseTestDataTestCase {
|
||||
"testMinimum": 1,
|
||||
"testAverage": 3,
|
||||
]
|
||||
]
|
||||
] as [NSDictionary]
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,14 +42,14 @@ final class SectionByTests: XCTestCase {
|
||||
|
||||
let sectionBy = SectionBy("key")
|
||||
XCTAssertEqual(sectionBy.sectionKeyPath, "key")
|
||||
XCTAssertEqual(sectionBy.sectionIndexTransformer(sectionName: "key"), "key")
|
||||
XCTAssertEqual(sectionBy.sectionIndexTransformer("key"), "key")
|
||||
}
|
||||
do {
|
||||
|
||||
let sectionBy = SectionBy("key") { $0.flatMap { "\($0):suffix" } }
|
||||
XCTAssertEqual(sectionBy.sectionKeyPath, "key")
|
||||
XCTAssertEqual(sectionBy.sectionIndexTransformer(sectionName: "key"), "key:suffix")
|
||||
XCTAssertNil(sectionBy.sectionIndexTransformer(sectionName: nil))
|
||||
XCTAssertEqual(sectionBy.sectionIndexTransformer("key"), "key:suffix")
|
||||
XCTAssertNil(sectionBy.sectionIndexTransformer(nil))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ final class SelectTests: XCTestCase {
|
||||
|
||||
let term = SelectTerm.average("attribute")
|
||||
XCTAssertEqual(term, SelectTerm.average("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute"))
|
||||
@@ -106,9 +106,9 @@ final class SelectTests: XCTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let term = SelectTerm.average("attribute", As: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.average("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute", As: "alias2"))
|
||||
let term = SelectTerm.average("attribute", as: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.average("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute", as: "alias2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute"))
|
||||
@@ -137,7 +137,7 @@ final class SelectTests: XCTestCase {
|
||||
|
||||
let term = SelectTerm.count("attribute")
|
||||
XCTAssertEqual(term, SelectTerm.count("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
@@ -159,9 +159,9 @@ final class SelectTests: XCTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let term = SelectTerm.count("attribute", As: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.count("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute", As: "alias2"))
|
||||
let term = SelectTerm.count("attribute", as: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.count("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute", as: "alias2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
@@ -190,7 +190,7 @@ final class SelectTests: XCTestCase {
|
||||
|
||||
let term = SelectTerm.maximum("attribute")
|
||||
XCTAssertEqual(term, SelectTerm.maximum("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.maximum("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.maximum("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.maximum("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
@@ -212,9 +212,9 @@ final class SelectTests: XCTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let term = SelectTerm.maximum("attribute", As: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.maximum("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.maximum("attribute", As: "alias2"))
|
||||
let term = SelectTerm.maximum("attribute", as: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.maximum("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.maximum("attribute", as: "alias2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.maximum("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
@@ -243,7 +243,7 @@ final class SelectTests: XCTestCase {
|
||||
|
||||
let term = SelectTerm.minimum("attribute")
|
||||
XCTAssertEqual(term, SelectTerm.minimum("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.minimum("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.minimum("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.minimum("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
@@ -265,9 +265,9 @@ final class SelectTests: XCTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let term = SelectTerm.minimum("attribute", As: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.minimum("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.minimum("attribute", As: "alias2"))
|
||||
let term = SelectTerm.minimum("attribute", as: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.minimum("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.minimum("attribute", as: "alias2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.minimum("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
@@ -296,7 +296,7 @@ final class SelectTests: XCTestCase {
|
||||
|
||||
let term = SelectTerm.sum("attribute")
|
||||
XCTAssertEqual(term, SelectTerm.sum("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.sum("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.sum("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.sum("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
@@ -318,9 +318,9 @@ final class SelectTests: XCTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let term = SelectTerm.sum("attribute", As: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.sum("attribute", As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.sum("attribute", As: "alias2"))
|
||||
let term = SelectTerm.sum("attribute", as: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.sum("attribute", as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.sum("attribute", as: "alias2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.sum("attribute2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
@@ -349,7 +349,7 @@ final class SelectTests: XCTestCase {
|
||||
|
||||
let term = SelectTerm.objectID()
|
||||
XCTAssertEqual(term, SelectTerm.objectID())
|
||||
XCTAssertNotEqual(term, SelectTerm.objectID(As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.objectID(as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.count("attribute"))
|
||||
@@ -368,9 +368,9 @@ final class SelectTests: XCTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let term = SelectTerm.objectID(As: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.objectID(As: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.objectID(As: "alias2"))
|
||||
let term = SelectTerm.objectID(as: "alias")
|
||||
XCTAssertEqual(term, SelectTerm.objectID(as: "alias"))
|
||||
XCTAssertNotEqual(term, SelectTerm.objectID(as: "alias2"))
|
||||
XCTAssertNotEqual(term, SelectTerm.objectID())
|
||||
XCTAssertNotEqual(term, SelectTerm.attribute("attribute"))
|
||||
XCTAssertNotEqual(term, SelectTerm.average("attribute"))
|
||||
|
||||
@@ -36,7 +36,7 @@ class SetupTests: BaseTestCase {
|
||||
|
||||
do {
|
||||
|
||||
let model = NSManagedObjectModel.mergedModel(from: [Bundle(for: self.dynamicType)])!
|
||||
let model = NSManagedObjectModel.mergedModel(from: [Bundle(for: type(of: self))])!
|
||||
|
||||
let stack = DataStack(model: model, migrationChain: nil)
|
||||
XCTAssertEqual(stack.coordinator.managedObjectModel, model)
|
||||
@@ -60,7 +60,7 @@ class SetupTests: BaseTestCase {
|
||||
|
||||
DataStack(
|
||||
modelName: "Model",
|
||||
bundle: Bundle(for: self.dynamicType),
|
||||
bundle: Bundle(for: type(of: self)),
|
||||
migrationChain: migrationChain
|
||||
)
|
||||
}
|
||||
@@ -77,7 +77,7 @@ class SetupTests: BaseTestCase {
|
||||
|
||||
let stack = DataStack(
|
||||
modelName: "Model",
|
||||
bundle: Bundle(for: self.dynamicType)
|
||||
bundle: Bundle(for: type(of: self))
|
||||
)
|
||||
do {
|
||||
|
||||
@@ -132,7 +132,7 @@ class SetupTests: BaseTestCase {
|
||||
|
||||
let stack = DataStack(
|
||||
modelName: "Model",
|
||||
bundle: Bundle(for: self.dynamicType)
|
||||
bundle: Bundle(for: type(of: self))
|
||||
)
|
||||
do {
|
||||
|
||||
@@ -194,7 +194,7 @@ class SetupTests: BaseTestCase {
|
||||
|
||||
let stack = DataStack(
|
||||
modelName: "Model",
|
||||
bundle: Bundle(for: self.dynamicType)
|
||||
bundle: Bundle(for: type(of: self))
|
||||
)
|
||||
do {
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
dynamic func test_ThatDefaultInMemoryStores_ConfigureCorrectly() {
|
||||
|
||||
let store = InMemoryStore()
|
||||
XCTAssertEqual(store.dynamicType.storeType, NSInMemoryStoreType)
|
||||
XCTAssertEqual(type(of: store).storeType, NSInMemoryStoreType)
|
||||
XCTAssertNil(store.configuration)
|
||||
XCTAssertNil(store.storeOptions)
|
||||
}
|
||||
@@ -46,7 +46,7 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
dynamic func test_ThatCustomInMemoryStores_ConfigureCorrectly() {
|
||||
|
||||
let store = InMemoryStore(configuration: "config1")
|
||||
XCTAssertEqual(store.dynamicType.storeType, NSInMemoryStoreType)
|
||||
XCTAssertEqual(type(of: store).storeType, NSInMemoryStoreType)
|
||||
XCTAssertEqual(store.configuration, "config1")
|
||||
XCTAssertNil(store.storeOptions)
|
||||
}
|
||||
@@ -61,15 +61,15 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
#endif
|
||||
|
||||
let defaultSystemDirectory = FileManager.default
|
||||
.urlsForDirectory(systemDirectorySearchPath, inDomains: .userDomainMask).first!
|
||||
.urls(for: systemDirectorySearchPath, in: .userDomainMask).first!
|
||||
|
||||
let defaultRootDirectory = try! defaultSystemDirectory.appendingPathComponent(
|
||||
let defaultRootDirectory = defaultSystemDirectory.appendingPathComponent(
|
||||
Bundle.main.bundleIdentifier ?? "com.CoreStore.DataStack",
|
||||
isDirectory: true
|
||||
)
|
||||
let applicationName = (Bundle.main.objectForInfoDictionaryKey("CFBundleName") as? String) ?? "CoreData"
|
||||
let applicationName = (Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as? String) ?? "CoreData"
|
||||
|
||||
let defaultFileURL = try! defaultRootDirectory
|
||||
let defaultFileURL = defaultRootDirectory
|
||||
.appendingPathComponent(applicationName, isDirectory: false)
|
||||
.appendingPathExtension("sqlite")
|
||||
|
||||
@@ -81,9 +81,9 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
dynamic func test_ThatDefaultSQLiteStores_ConfigureCorrectly() {
|
||||
|
||||
let store = SQLiteStore()
|
||||
XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(type(of: store).storeType, NSSQLiteStoreType)
|
||||
XCTAssertNil(store.configuration)
|
||||
XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
XCTAssertEqual(store.storeOptions as NSDictionary?, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
|
||||
XCTAssertEqual(store.fileURL, SQLiteStore.defaultFileURL)
|
||||
XCTAssertEqual(store.mappingModelBundles, Bundle.allBundles)
|
||||
@@ -93,10 +93,10 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
@objc
|
||||
dynamic func test_ThatFileURLSQLiteStores_ConfigureCorrectly() {
|
||||
|
||||
let fileURL = try! URL(fileURLWithPath: NSTemporaryDirectory())
|
||||
let fileURL = URL(fileURLWithPath: NSTemporaryDirectory())
|
||||
.appendingPathComponent(UUID().uuidString, isDirectory: false)
|
||||
.appendingPathExtension("db")
|
||||
let bundles = [Bundle(for: self.dynamicType)]
|
||||
let bundles = [Bundle(for: type(of: self))]
|
||||
|
||||
let store = SQLiteStore(
|
||||
fileURL: fileURL,
|
||||
@@ -104,9 +104,9 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
mappingModelBundles: bundles,
|
||||
localStorageOptions: .recreateStoreOnModelMismatch
|
||||
)
|
||||
XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(type(of: store).storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(store.configuration, "config1")
|
||||
XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
XCTAssertEqual(store.storeOptions as NSDictionary?, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
|
||||
XCTAssertEqual(store.fileURL, fileURL)
|
||||
XCTAssertEqual(store.mappingModelBundles, bundles)
|
||||
@@ -117,7 +117,7 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
dynamic func test_ThatFileNameSQLiteStores_ConfigureCorrectly() {
|
||||
|
||||
let fileName = UUID().uuidString + ".db"
|
||||
let bundles = [Bundle(for: self.dynamicType)]
|
||||
let bundles = [Bundle(for: type(of: self))]
|
||||
|
||||
let store = SQLiteStore(
|
||||
fileName: fileName,
|
||||
@@ -125,11 +125,11 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
mappingModelBundles: bundles,
|
||||
localStorageOptions: .recreateStoreOnModelMismatch
|
||||
)
|
||||
XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(type(of: store).storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(store.configuration, "config1")
|
||||
XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
XCTAssertEqual(store.storeOptions as NSDictionary?, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
|
||||
XCTAssertEqual(try! store.fileURL.deletingLastPathComponent(), SQLiteStore.defaultRootDirectory)
|
||||
XCTAssertEqual(store.fileURL.deletingLastPathComponent(), SQLiteStore.defaultRootDirectory)
|
||||
XCTAssertEqual(store.fileURL.lastPathComponent, fileName)
|
||||
XCTAssertEqual(store.mappingModelBundles, bundles)
|
||||
XCTAssertEqual(store.localStorageOptions, [.recreateStoreOnModelMismatch])
|
||||
@@ -144,12 +144,11 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
let systemDirectorySearchPath = FileManager.SearchPathDirectory.applicationSupportDirectory
|
||||
#endif
|
||||
|
||||
let legacyDefaultRootDirectory = FileManager.default.urlsForDirectory(
|
||||
systemDirectorySearchPath,
|
||||
inDomains: .userDomainMask
|
||||
).first!
|
||||
let legacyDefaultRootDirectory = FileManager.default.urls(
|
||||
for: systemDirectorySearchPath,
|
||||
in: .userDomainMask).first!
|
||||
|
||||
let legacyDefaultFileURL = try! legacyDefaultRootDirectory
|
||||
let legacyDefaultFileURL = legacyDefaultRootDirectory
|
||||
.appendingPathComponent(DataStack.applicationName, isDirectory: false)
|
||||
.appendingPathExtension("sqlite")
|
||||
|
||||
@@ -161,9 +160,9 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
dynamic func test_ThatDefaultLegacySQLiteStores_ConfigureCorrectly() {
|
||||
|
||||
let store = LegacySQLiteStore()
|
||||
XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(type(of: store).storeType, NSSQLiteStoreType)
|
||||
XCTAssertNil(store.configuration)
|
||||
XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
XCTAssertEqual(store.storeOptions as NSDictionary?, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
|
||||
XCTAssertEqual(store.fileURL, LegacySQLiteStore.defaultFileURL)
|
||||
XCTAssertEqual(store.mappingModelBundles, Bundle.allBundles)
|
||||
@@ -173,10 +172,10 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
@objc
|
||||
dynamic func test_ThatFileURLLegacySQLiteStores_ConfigureCorrectly() {
|
||||
|
||||
let fileURL = try! URL(fileURLWithPath: NSTemporaryDirectory())
|
||||
let fileURL = URL(fileURLWithPath: NSTemporaryDirectory())
|
||||
.appendingPathComponent(UUID().uuidString, isDirectory: false)
|
||||
.appendingPathExtension("db")
|
||||
let bundles = [Bundle(for: self.dynamicType)]
|
||||
let bundles = [Bundle(for: type(of: self))]
|
||||
|
||||
let store = LegacySQLiteStore(
|
||||
fileURL: fileURL,
|
||||
@@ -184,9 +183,9 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
mappingModelBundles: bundles,
|
||||
localStorageOptions: .recreateStoreOnModelMismatch
|
||||
)
|
||||
XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(type(of: store).storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(store.configuration, "config1")
|
||||
XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
XCTAssertEqual(store.storeOptions as NSDictionary?, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
|
||||
XCTAssertEqual(store.fileURL, fileURL)
|
||||
XCTAssertEqual(store.mappingModelBundles, bundles)
|
||||
@@ -197,7 +196,7 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
dynamic func test_ThatFileNameLegacySQLiteStores_ConfigureCorrectly() {
|
||||
|
||||
let fileName = UUID().uuidString + ".db"
|
||||
let bundles = [Bundle(for: self.dynamicType)]
|
||||
let bundles = [Bundle(for: type(of: self))]
|
||||
|
||||
let store = LegacySQLiteStore(
|
||||
fileName: fileName,
|
||||
@@ -205,11 +204,11 @@ final class StorageInterfaceTests: XCTestCase {
|
||||
mappingModelBundles: bundles,
|
||||
localStorageOptions: .recreateStoreOnModelMismatch
|
||||
)
|
||||
XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(type(of: store).storeType, NSSQLiteStoreType)
|
||||
XCTAssertEqual(store.configuration, "config1")
|
||||
XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
XCTAssertEqual(store.storeOptions as NSDictionary?, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)
|
||||
|
||||
XCTAssertEqual(try! store.fileURL.deletingLastPathComponent(), LegacySQLiteStore.defaultRootDirectory)
|
||||
XCTAssertEqual(store.fileURL.deletingLastPathComponent(), LegacySQLiteStore.defaultRootDirectory)
|
||||
XCTAssertEqual(store.fileURL.lastPathComponent, fileName)
|
||||
XCTAssertEqual(store.mappingModelBundles, bundles)
|
||||
XCTAssertEqual(store.localStorageOptions, [.recreateStoreOnModelMismatch])
|
||||
|
||||
@@ -41,7 +41,7 @@ final class TransactionTests: BaseTestCase {
|
||||
let testDate = Date()
|
||||
do {
|
||||
|
||||
let createExpectation = self.expectation(withDescription: "create")
|
||||
let createExpectation = self.expectation(description: "create")
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let object = transaction.create(Into<TestEntity1>())
|
||||
@@ -73,7 +73,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let updateExpectation = self.expectation(withDescription: "update")
|
||||
let updateExpectation = self.expectation(description: "update")
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
|
||||
@@ -108,7 +108,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let deleteExpectation = self.expectation(withDescription: "delete")
|
||||
let deleteExpectation = self.expectation(description: "delete")
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let object = transaction.fetchOne(From<TestEntity1>())
|
||||
@@ -142,7 +142,7 @@ final class TransactionTests: BaseTestCase {
|
||||
let testDate = Date()
|
||||
do {
|
||||
|
||||
let createExpectation = self.expectation(withDescription: "create")
|
||||
let createExpectation = self.expectation(description: "create")
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let object = transaction.create(Into<TestEntity1>("Config1"))
|
||||
@@ -175,7 +175,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let updateExpectation = self.expectation(withDescription: "update")
|
||||
let updateExpectation = self.expectation(description: "update")
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
guard let object = transaction.fetchOne(From<TestEntity1>("Config1")) else {
|
||||
@@ -211,7 +211,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let deleteExpectation = self.expectation(withDescription: "delete")
|
||||
let deleteExpectation = self.expectation(description: "delete")
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let object = transaction.fetchOne(From<TestEntity1>("Config1"))
|
||||
@@ -242,7 +242,7 @@ final class TransactionTests: BaseTestCase {
|
||||
|
||||
do {
|
||||
|
||||
let createDiscardExpectation = self.expectation(withDescription: "create-discard")
|
||||
let createDiscardExpectation = self.expectation(description: "create-discard")
|
||||
let loggerExpectations = self.prepareLoggerExpectations([.logWarning])
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
@@ -265,7 +265,7 @@ final class TransactionTests: BaseTestCase {
|
||||
let testDate = Date()
|
||||
do {
|
||||
|
||||
let createExpectation = self.expectation(withDescription: "create")
|
||||
let createExpectation = self.expectation(description: "create")
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
let object = transaction.create(Into<TestEntity1>())
|
||||
@@ -287,7 +287,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let updateDiscardExpectation = self.expectation(withDescription: "update-discard")
|
||||
let updateDiscardExpectation = self.expectation(description: "update-discard")
|
||||
let loggerExpectations = self.prepareLoggerExpectations([.logWarning])
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
@@ -316,7 +316,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let deleteDiscardExpectation = self.expectation(withDescription: "delete-discard")
|
||||
let deleteDiscardExpectation = self.expectation(description: "delete-discard")
|
||||
let loggerExpectations = self.prepareLoggerExpectations([.logWarning])
|
||||
stack.beginSynchronous { (transaction) in
|
||||
|
||||
@@ -352,7 +352,7 @@ final class TransactionTests: BaseTestCase {
|
||||
let testDate = Date()
|
||||
do {
|
||||
|
||||
let createExpectation = self.expectation(withDescription: "create")
|
||||
let createExpectation = self.expectation(description: "create")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
let object = transaction.create(Into<TestEntity1>())
|
||||
@@ -386,7 +386,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let updateExpectation = self.expectation(withDescription: "update")
|
||||
let updateExpectation = self.expectation(description: "update")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
|
||||
@@ -423,7 +423,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let deleteExpectation = self.expectation(withDescription: "delete")
|
||||
let deleteExpectation = self.expectation(description: "delete")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
let object = transaction.fetchOne(From<TestEntity1>())
|
||||
@@ -460,7 +460,7 @@ final class TransactionTests: BaseTestCase {
|
||||
let testDate = Date()
|
||||
do {
|
||||
|
||||
let createExpectation = self.expectation(withDescription: "create")
|
||||
let createExpectation = self.expectation(description: "create")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
let object = transaction.create(Into<TestEntity1>("Config1"))
|
||||
@@ -495,7 +495,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let updateExpectation = self.expectation(withDescription: "update")
|
||||
let updateExpectation = self.expectation(description: "update")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
guard let object = transaction.fetchOne(From<TestEntity1>("Config1")) else {
|
||||
@@ -533,7 +533,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let deleteExpectation = self.expectation(withDescription: "delete")
|
||||
let deleteExpectation = self.expectation(description: "delete")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
let object = transaction.fetchOne(From<TestEntity1>("Config1"))
|
||||
@@ -568,7 +568,7 @@ final class TransactionTests: BaseTestCase {
|
||||
|
||||
do {
|
||||
|
||||
let createDiscardExpectation = self.expectation(withDescription: "create-discard")
|
||||
let createDiscardExpectation = self.expectation(description: "create-discard")
|
||||
let loggerExpectations = self.prepareLoggerExpectations([.logWarning])
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
@@ -585,7 +585,7 @@ final class TransactionTests: BaseTestCase {
|
||||
let testDate = Date()
|
||||
do {
|
||||
|
||||
let createExpectation = self.expectation(withDescription: "create")
|
||||
let createExpectation = self.expectation(description: "create")
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 0)
|
||||
@@ -612,7 +612,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let updateDiscardExpectation = self.expectation(withDescription: "update-discard")
|
||||
let updateDiscardExpectation = self.expectation(description: "update-discard")
|
||||
let loggerExpectations = self.prepareLoggerExpectations([.logWarning])
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
@@ -631,7 +631,7 @@ final class TransactionTests: BaseTestCase {
|
||||
}
|
||||
do {
|
||||
|
||||
let deleteDiscardExpectation = self.expectation(withDescription: "delete-discard")
|
||||
let deleteDiscardExpectation = self.expectation(description: "delete-discard")
|
||||
let loggerExpectations = self.prepareLoggerExpectations([.logWarning])
|
||||
stack.beginAsynchronous { (transaction) in
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ final class TweakTests: XCTestCase {
|
||||
@objc
|
||||
dynamic func test_ThatTweakClauses_ApplyToFetchRequestsCorrectly() {
|
||||
|
||||
let predicate = Predicate(format: "%K == %@", "key", "value")
|
||||
let predicate = NSPredicate(format: "%K == %@", "key", "value")
|
||||
let tweak = Tweak {
|
||||
|
||||
$0.fetchOffset = 100
|
||||
|
||||
@@ -41,18 +41,18 @@ final class WhereTests: XCTestCase {
|
||||
let whereClause = Where()
|
||||
XCTAssertEqual(whereClause, Where(true))
|
||||
XCTAssertNotEqual(whereClause, Where(false))
|
||||
XCTAssertEqual(whereClause.predicate, Predicate(value: true))
|
||||
XCTAssertEqual(whereClause.predicate, NSPredicate(value: true))
|
||||
}
|
||||
do {
|
||||
|
||||
let whereClause = Where(true)
|
||||
XCTAssertEqual(whereClause, Where())
|
||||
XCTAssertNotEqual(whereClause, Where(false))
|
||||
XCTAssertEqual(whereClause.predicate, Predicate(value: true))
|
||||
XCTAssertEqual(whereClause.predicate, NSPredicate(value: true))
|
||||
}
|
||||
do {
|
||||
|
||||
let predicate = Predicate(format: "%K == %@", "key", "value")
|
||||
let predicate = NSPredicate(format: "%K == %@", "key", "value")
|
||||
let whereClause = Where(predicate)
|
||||
XCTAssertEqual(whereClause, Where(predicate))
|
||||
XCTAssertEqual(whereClause.predicate, predicate)
|
||||
@@ -60,28 +60,28 @@ final class WhereTests: XCTestCase {
|
||||
do {
|
||||
|
||||
let whereClause = Where("%K == %@", "key", "value")
|
||||
let predicate = Predicate(format: "%K == %@", "key", "value")
|
||||
let predicate = NSPredicate(format: "%K == %@", "key", "value")
|
||||
XCTAssertEqual(whereClause, Where(predicate))
|
||||
XCTAssertEqual(whereClause.predicate, predicate)
|
||||
}
|
||||
do {
|
||||
|
||||
let whereClause = Where("%K == %@", argumentArray: ["key", "value"])
|
||||
let predicate = Predicate(format: "%K == %@", "key", "value")
|
||||
let predicate = NSPredicate(format: "%K == %@", "key", "value")
|
||||
XCTAssertEqual(whereClause, Where(predicate))
|
||||
XCTAssertEqual(whereClause.predicate, predicate)
|
||||
}
|
||||
do {
|
||||
|
||||
let whereClause = Where("key", isEqualTo: "value")
|
||||
let predicate = Predicate(format: "%K == %@", "key", "value")
|
||||
let predicate = NSPredicate(format: "%K == %@", "key", "value")
|
||||
XCTAssertEqual(whereClause, Where(predicate))
|
||||
XCTAssertEqual(whereClause.predicate, predicate)
|
||||
}
|
||||
do {
|
||||
|
||||
let whereClause = Where("key", isMemberOf: ["value1", "value2", "value3"])
|
||||
let predicate = Predicate(format: "%K IN %@", "key", ["value1", "value2", "value3"])
|
||||
let predicate = NSPredicate(format: "%K IN %@", "key", ["value1", "value2", "value3"])
|
||||
XCTAssertEqual(whereClause, Where(predicate))
|
||||
XCTAssertEqual(whereClause.predicate, predicate)
|
||||
}
|
||||
@@ -97,7 +97,7 @@ final class WhereTests: XCTestCase {
|
||||
do {
|
||||
|
||||
let notWhere = !whereClause1
|
||||
let notPredicate = CompoundPredicate(
|
||||
let notPredicate = NSCompoundPredicate(
|
||||
type: .not,
|
||||
subpredicates: [whereClause1.predicate]
|
||||
)
|
||||
@@ -107,10 +107,10 @@ final class WhereTests: XCTestCase {
|
||||
do {
|
||||
|
||||
let andWhere = whereClause1 && whereClause2 && whereClause3
|
||||
let andPredicate = CompoundPredicate(
|
||||
let andPredicate = NSCompoundPredicate(
|
||||
type: .and,
|
||||
subpredicates: [
|
||||
CompoundPredicate(
|
||||
NSCompoundPredicate(
|
||||
type: .and,
|
||||
subpredicates: [whereClause1.predicate, whereClause2.predicate]
|
||||
),
|
||||
@@ -123,10 +123,10 @@ final class WhereTests: XCTestCase {
|
||||
do {
|
||||
|
||||
let orWhere = whereClause1 || whereClause2 || whereClause3
|
||||
let orPredicate = CompoundPredicate(
|
||||
let orPredicate = NSCompoundPredicate(
|
||||
type: .or,
|
||||
subpredicates: [
|
||||
CompoundPredicate(
|
||||
NSCompoundPredicate(
|
||||
type: .or,
|
||||
subpredicates: [whereClause1.predicate, whereClause2.predicate]
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user