[Enhancement] Collection+Empty extension (#18)
This PR contains the work done to implement the "isNotEmpty" property in the Collection+Empty extension. Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Reviewed-on: #18
This commit is contained in:
parent
ffb1170760
commit
7fb72509c2
20
Sources/Core/Extensions/Collection+Empty.swift
Normal file
20
Sources/Core/Extensions/Collection+Empty.swift
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
//
|
||||||
|
// 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 Collection {
|
||||||
|
|
||||||
|
// MARK: Properties
|
||||||
|
|
||||||
|
/// A Boolean value indicating whether a collection is not empty.
|
||||||
|
var isNotEmpty: Bool { !isEmpty }
|
||||||
|
|
||||||
|
}
|
75
Tests/Core/Cases/Extensions/Collection+EmptyTests.swift
Normal file
75
Tests/Core/Cases/Extensions/Collection+EmptyTests.swift
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
//
|
||||||
|
// 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 Collection_EmptyTests: XCTestCase {
|
||||||
|
|
||||||
|
// MARK: Properties
|
||||||
|
|
||||||
|
private var collection: (any Collection)!
|
||||||
|
private var result: Bool!
|
||||||
|
|
||||||
|
// MARK: Tests
|
||||||
|
|
||||||
|
func test_isNotEmpty_whenAnArrayIsEmpty() {
|
||||||
|
// GIVEN
|
||||||
|
collection = [Int]()
|
||||||
|
|
||||||
|
// WHEN
|
||||||
|
result = collection.isNotEmpty
|
||||||
|
|
||||||
|
// THEN
|
||||||
|
XCTAssertFalse(result)
|
||||||
|
}
|
||||||
|
|
||||||
|
func test_isNotEmpty_whenAnArrayIsNotEmpty() {
|
||||||
|
// GIVEN
|
||||||
|
collection = [0, 1, 2, 3, 4, 5]
|
||||||
|
|
||||||
|
// WHEN
|
||||||
|
result = collection.isNotEmpty
|
||||||
|
|
||||||
|
// THEN
|
||||||
|
XCTAssertTrue(result)
|
||||||
|
}
|
||||||
|
|
||||||
|
func test_isNotEmpty_whenADictionaryIsEmpty() {
|
||||||
|
// GIVEN
|
||||||
|
collection = [String: Int]()
|
||||||
|
|
||||||
|
// WHEN
|
||||||
|
result = collection.isNotEmpty
|
||||||
|
|
||||||
|
// THEN
|
||||||
|
XCTAssertFalse(result)
|
||||||
|
}
|
||||||
|
|
||||||
|
func test_isNotEmpty_whenADictionaryIsNotEmpty() {
|
||||||
|
// GIVEN
|
||||||
|
collection = [
|
||||||
|
"something": 0,
|
||||||
|
"else": 1,
|
||||||
|
"goes": 2,
|
||||||
|
"in": 3,
|
||||||
|
"here": 4
|
||||||
|
]
|
||||||
|
|
||||||
|
// WHEN
|
||||||
|
result = collection.isNotEmpty
|
||||||
|
|
||||||
|
// THEN
|
||||||
|
XCTAssertTrue(result)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user