Skip to content

Commit 877cb72

Browse files
committed
fixes
1 parent 4f1fd55 commit 877cb72

File tree

5 files changed

+28
-34
lines changed

5 files changed

+28
-34
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
# Xcode
55
build/
6+
.build/
67
*.pbxuser
78
!default.pbxuser
89
*.mode1v3
@@ -34,4 +35,4 @@ Carthage/Build
3435
# Note: if you ignore the Pods directory, make sure to uncomment
3536
# `pod install` in .travis.yml
3637
#
37-
Pods/
38+
Example/Pods/

Package.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@ let package = Package(
2020
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
2121
.target(
2222
name: "SwiftBloc",
23+
dependencies: [],
2324
path: "Sources"),
2425
.testTarget(
2526
name: "SwiftBlocTests",
27+
dependencies: ["SwiftBloc"],
2628
path: "Tests"),
2729
]
2830
)

Sources/Errors.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ import Foundation
1010
/**
1111
Bloc errors
1212
*/
13-
enum BlocError: Error {
13+
public enum BlocError: Error {
1414
case noEvent
1515
}
1616
/**
1717
Cubit (more abstract) errors
1818
*/
19-
enum CubitError: Error {
19+
public enum CubitError: Error {
2020
case stateNotChanged
2121
}

Tests/SwiftBlocTests.swift

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,6 @@ import XCTest
22
import Combine
33
@testable import SwiftBloc
44

5-
final public class BlocTest<S: Equatable, B: Base<S>> {
6-
public static func execute(
7-
build: () -> B,
8-
act: ((B) -> Void)?,
9-
wait: TimeInterval? = 0,
10-
expect: (() -> Any)?,
11-
verify: ((B) -> Void)? = nil
12-
) {
13-
var areEqual = false
14-
var states = [S]()
15-
let bloc = build()
16-
let scheduler = ImmediateScheduler.shared
17-
let cancellable = bloc.$state
18-
.subscribe(on: scheduler)
19-
.delay(for: .seconds(wait ?? 0), scheduler: scheduler)
20-
.sink(receiveValue: { value in
21-
states.append(value)
22-
})
23-
act?(bloc)
24-
if expect != nil {
25-
let expected = expect!()
26-
areEqual = "\(states)" == "\(expected)"
27-
let message = "State received: \(states). \nStates expected: \(expected)"
28-
XCTAssert(areEqual, message)
29-
}
30-
cancellable.cancel()
31-
verify?(bloc)
32-
}
33-
}
34-
355
final class SwiftBlocTests: XCTestCase {
366
func testExample() {
377
XCTAssert(true)
@@ -45,6 +15,8 @@ final class SwiftBlocTests: XCTestCase {
4515
[
4616
MockCounterState(count: 0)
4717
]
18+
}, verify: { areEqual, message in
19+
XCTAssert(areEqual, message)
4820
})
4921
}
5022
func testCounterBlocIncrement() {
@@ -59,6 +31,8 @@ final class SwiftBlocTests: XCTestCase {
5931
MockCounterState(count: 1),
6032
MockCounterState(count: 2)
6133
]
34+
}, verify: { areEqual, message in
35+
XCTAssert(areEqual, message)
6236
})
6337
}
6438
func testCounterBlocDecrement() {
@@ -73,17 +47,21 @@ final class SwiftBlocTests: XCTestCase {
7347
MockCounterState(count: -1),
7448
MockCounterState(count: -2)
7549
]
50+
}, verify: { areEqual, message in
51+
XCTAssert(areEqual, message)
7652
})
7753
}
7854
func testCounterCubitInitial() {
79-
BlocTest.execute(description: "CounterCubit", build: {
55+
BlocTest.execute(build: {
8056
MockCounterCubit()
8157
}, act: { (_) in
8258
// DO NOTHING
8359
}, expect: {
8460
[
8561
0
8662
]
63+
}, verify: { areEqual, message in
64+
XCTAssert(areEqual, message)
8765
})
8866
}
8967
func testCounterCubitIncrement() {
@@ -98,6 +76,8 @@ final class SwiftBlocTests: XCTestCase {
9876
1,
9977
2
10078
]
79+
}, verify: { areEqual, message in
80+
XCTAssert(areEqual, message)
10181
})
10282
}
10383
func testCounterCubitDecrement() {
@@ -112,6 +92,8 @@ final class SwiftBlocTests: XCTestCase {
11292
-1,
11393
-2
11494
]
95+
}, verify: { areEqual, message in
96+
XCTAssert(areEqual, message)
11597
})
11698
}
11799

Tests/XCTestManifests.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import XCTest
2+
3+
#if !canImport(ObjectiveC)
4+
public func allTests() -> [XCTestCaseEntry] {
5+
return [
6+
testCase(SwiftBlocTests.allTests),
7+
]
8+
}
9+
#endif

0 commit comments

Comments
 (0)