File tree Expand file tree Collapse file tree
Tests/ValidatorCoreTests/UnitTests/Rules Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ //
2+ // Validator
3+ // Copyright © 2025 Space Code. All rights reserved.
4+ //
5+
6+ @testable import ValidatorCore
7+ import XCTest
8+
9+ // MARK: - NilValidationRuleTests
10+
11+ final class NilValidationRuleTests : XCTestCase {
12+ // MARK: - Properties
13+
14+ private var sut : NilValidationRule < String > !
15+
16+ // MARK: - Setup
17+
18+ override func setUp( ) {
19+ super. setUp ( )
20+ sut = NilValidationRule < String > ( error: String . error)
21+ }
22+
23+ override func tearDown( ) {
24+ sut = nil
25+ super. tearDown ( )
26+ }
27+
28+ // MARK: - Validation Tests
29+
30+ func testValidateWithNilInput_ReturnsTrue( ) {
31+ // Given
32+ let input : String ? = nil
33+
34+ // When
35+ let result = sut. validate ( input: input)
36+
37+ // Then
38+ XCTAssertTrue ( result)
39+ }
40+
41+ func testValidateWithNonNilInput_ReturnsFalse( ) {
42+ // Given
43+ let input : String ? = " Hello "
44+
45+ // When
46+ let result = sut. validate ( input: input)
47+
48+ // Then
49+ XCTAssertFalse ( result)
50+ }
51+
52+ func testErrorProperty_ReturnsProvidedError( ) {
53+ // Then
54+ XCTAssertEqual ( sut. error as? String , String . error)
55+ }
56+ }
57+
58+ private extension String {
59+ static let error = " Value must be nil "
60+ }
You can’t perform that action at this time.
0 commit comments