diff --git a/CarolineCore/Functions.swift b/CarolineCore/Functions.swift index bcf7873bbfc2d8b954b16dd2baacefe902c3cccc..50c23182ac3742df4d4d23267716b3493043c098 100644 --- a/CarolineCore/Functions.swift +++ b/CarolineCore/Functions.swift @@ -105,6 +105,16 @@ extension CarolineTest { } } + ///Check that a function does not return an error + public final func check(_ message: @autoclosure() -> String = "Error thrown", file: String = #file, line: Int = #line, block: () throws -> ()) { + do { + try block() + } + catch { + self.fail("\(message()) - \(error)", file: file, line: line) + } + } + ///Assert that the passed closure doesn't throw ///- returns: nil if the calling closure throws, otherwise the return value. diff --git a/tests/CoreTests/main.swift b/tests/CoreTests/main.swift index 007a76f9fd37c8f18317dd452a371115ac61c28d..e81f7f6de356c6751872c341383e24f134597c8c 100644 --- a/tests/CoreTests/main.swift +++ b/tests/CoreTests/main.swift @@ -19,11 +19,15 @@ import CarolineCore let allTests: [CarolineTest] = [ AssertTrue(), AssertFalse(), + DictEqual(), + DictEqualInverse(), + DictEqualLengthMismatch(), + DictNotEqual(), + DictNotEqualInverse(), + DictNotEqualLengthMismatch(), + NoErrorCheck(), + ErrorCheck(), Fail(), - SimpleEqual(), - SimpleEqualInverse(), - SimpleNotEqual(), - SimpleNotEqualInverse(), SequenceEqual(), SequenceEqualInverse(), SequenceEqualLengthA(), @@ -36,12 +40,10 @@ let allTests: [CarolineTest] = [ SequenceNotEqualLengthB(), SequenceNotEqualLengthC(), SequenceNotEqualLengthD(), - DictEqual(), - DictEqualInverse(), - DictEqualLengthMismatch(), - DictNotEqual(), - DictNotEqualInverse(), - DictNotEqualLengthMismatch() + SimpleEqual(), + SimpleEqualInverse(), + SimpleNotEqual(), + SimpleNotEqualInverse() ] let engine = CarolineCoreEngine() if !engine.testAll(allTests) {