This PR refers to the work done on setting the `Core` target as well as implemented some basic features as extension to a pair of `Swift` primitive types. To give further details about this work: - [x] defined the `Core` target; - [x] implemented the **empty** static property and the **isNotEmpty()** function in the `String+Empty` extension; - [x] implemented the **init(_: )** initialiser fo strings in the `Bool+Init` extension; Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Reviewed-on: #1
61 lines
1.3 KiB
Swift
61 lines
1.3 KiB
Swift
//
|
|
// Bool+InitTests.swift
|
|
// Core
|
|
//
|
|
// Created by Javier Cicchelli on 15/04/2023.
|
|
// Copyright © 2023 Röck+Cöde. All rights reserved.
|
|
//
|
|
|
|
import Core
|
|
import XCTest
|
|
|
|
final class Bool_InitTests: XCTestCase {
|
|
|
|
// MARK: Properties
|
|
|
|
private var strings: [String] = []
|
|
private var booleans: [Bool] = []
|
|
|
|
// MARK: Tests
|
|
|
|
func test_init_withPositiveStrings() {
|
|
// GIVEN
|
|
strings = ["YES", "Yes", "yes", "TRUE", "TrUe", "true", "One", "OnE", "one", "1"]
|
|
|
|
// WHEN
|
|
booleans = strings.map(Bool.init)
|
|
|
|
// THEN
|
|
booleans.forEach { boolean in
|
|
XCTAssertTrue(boolean)
|
|
}
|
|
}
|
|
|
|
func test_init_withNegativeStrings() {
|
|
// GIVEN
|
|
strings = ["NO", "No", "no", "FALSE", "FaLsE", "false", "ZERO", "ZeRo", "zero", "0"]
|
|
|
|
// WHEN
|
|
booleans = strings.map(Bool.init)
|
|
|
|
// THEN
|
|
booleans.forEach { boolean in
|
|
XCTAssertFalse(boolean)
|
|
}
|
|
}
|
|
|
|
func test_init_withOtherStrings() {
|
|
// GIVEN
|
|
strings = [.empty, "...", "something", "yes-", "false+", "X", "9"]
|
|
|
|
// WHEN
|
|
booleans = strings.map(Bool.init)
|
|
|
|
// THEN
|
|
booleans.forEach { boolean in
|
|
XCTAssertFalse(boolean)
|
|
}
|
|
}
|
|
|
|
}
|