[Feature] Some basic core feature (#1)
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
This commit was merged in pull request #1.
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// 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)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
//
|
||||
// String+EmptyTests.swift
|
||||
// Core
|
||||
//
|
||||
// Created by Javier Cicchelli on 15/04/2023.
|
||||
// Copyright © 2022 Röck+Cöde. All rights reserved.
|
||||
//
|
||||
|
||||
import Core
|
||||
import XCTest
|
||||
|
||||
final class String_EmptyTests: XCTestCase {
|
||||
|
||||
// MARK: Tests
|
||||
|
||||
func test_empty() {
|
||||
// GIVEN
|
||||
let string = String.empty
|
||||
|
||||
// WHEN
|
||||
// THEN
|
||||
XCTAssertEqual(string, "")
|
||||
}
|
||||
|
||||
func test_isNotEmpty_withEmptyString() {
|
||||
// GIVEN
|
||||
let string = String.empty
|
||||
|
||||
// WHEN
|
||||
let result = string.isNotEmpty()
|
||||
|
||||
// THEN
|
||||
XCTAssertFalse(result)
|
||||
}
|
||||
|
||||
func test_isNotEmpty_withFilledString() {
|
||||
// GIVEN
|
||||
let string = String.Test.string
|
||||
|
||||
// WHEN
|
||||
let result = string.isNotEmpty()
|
||||
|
||||
// THEN
|
||||
XCTAssertTrue(result)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - String+Constants
|
||||
|
||||
private extension String {
|
||||
enum Test {
|
||||
static let string = "Some test string..."
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import XCTest
|
||||
@testable import SwiftLibs
|
||||
|
||||
final class SwiftLibsTests: XCTestCase {
|
||||
func testExample() throws {
|
||||
// This is an example of a functional test case.
|
||||
// Use XCTAssert and related functions to verify your tests produce the correct
|
||||
// results.
|
||||
XCTAssertEqual(SwiftLibs().text, "Hello, World!")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user