[Enhancement] Communications library for non Apple platforms (#15)

This PR contains the work done to allow the `MakeURLRequestUseCase` use case to be used in non-Apple platforms, as it use has been restricted before.

To provide further details about the work done:
- [x] improved the `MakeURLRequestUseCase` use case to be available in non-Apple platforms;
- [x] moved the `TestEndpoint` helper endpoint to its own file;
- [x] moved some test cases files around;
- [x] updated some text in the `README` file.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #15
This commit was merged in pull request #15.
This commit is contained in:
2023-04-30 12:33:41 +00:00
parent 94a49afb66
commit fb439a82a8
6 changed files with 53 additions and 37 deletions
@@ -0,0 +1,64 @@
//===----------------------------------------------------------------------===//
//
// 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 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,59 @@
//===----------------------------------------------------------------------===//
//
// 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 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..."
}
}