Implemented the "isNil" and "isNotNil" properties in the Optional+Nil extension.

This commit is contained in:
Javier Cicchelli 2023-05-06 22:30:00 +02:00
parent 2f3712c830
commit 9e10865cb4
2 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,23 @@
//===----------------------------------------------------------------------===//
//
// This source file is part of the SwiftLibs open source project
//
// Copyright (c) 2023 Röck+Cöde VoF. and the SwiftLibs project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE.txt for license information
// See CONTRIBUTORS.txt for the list of SwiftLibs project authors
//
//===----------------------------------------------------------------------===//
public extension Optional {
// MARK: Properties
/// A Boolean value indicating whether an optional has not been set.
var isNil: Bool { self == nil }
/// A Boolean value indicating whether an optional has been set.
var isNotNil: Bool { !isNil }
}

View File

@ -0,0 +1,66 @@
//===----------------------------------------------------------------------===//
//
// This source file is part of the SwiftLibs open source project
//
// Copyright (c) 2023 Röck+Cöde VoF. and the SwiftLibs project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE.txt for license information
// See CONTRIBUTORS.txt for the list of SwiftLibs project authors
//
//===----------------------------------------------------------------------===//
import Core
import XCTest
final class Optional_NilTests: XCTestCase {
// MARK: Properties
private var optional: Int?
private var result: Bool!
// MARK: Tests
func test_isNil_whenOptionalHasNotBeenSet() {
// GIVEN
// WHEN
result = optional.isNil
// THEN
XCTAssertTrue(result)
}
func test_isNil_whenOptionalHasBeenSet() {
// GIVEN
optional = 0
// WHEN
result = optional.isNil
// THEN
XCTAssertFalse(result)
}
func test_isNotNil_whenOptionalHasNotBeenSet() {
// GIVEN
// WHEN
result = optional.isNotNil
// THEN
XCTAssertFalse(result)
}
func test_isNotNil_whenOptionalHasBeenSet() {
// GIVEN
optional = 0
// WHEN
result = optional.isNotNil
// THEN
XCTAssertTrue(result)
}
}