Implemented the "isNil" and "isNotNil" properties in the Optional+Nil extension.
This commit is contained in:
parent
2f3712c830
commit
9e10865cb4
23
Sources/Core/Extensions/Optional+Nil.swift
Normal file
23
Sources/Core/Extensions/Optional+Nil.swift
Normal 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 }
|
||||
|
||||
}
|
66
Tests/Core/Cases/Extensions/Optional+NilTests.swift
Normal file
66
Tests/Core/Cases/Extensions/Optional+NilTests.swift
Normal 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)
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user