Skip to content

Commit 4db9d72

Browse files
authored
Use BDD tests naming to clarify, fix some indentation issue (#24)
1 parent 1a147cd commit 4db9d72

6 files changed

Lines changed: 29 additions & 29 deletions

File tree

Sources/SwiftRetrier/DSL/BuilderEntryPoints.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ public func withExponentialBackoff(
66
jitter: ExponentialBackoffRetryPolicy.Jitter = ExponentialBackoffConstants.defaultJitter
77
) -> ColdRetrier {
88
let policy = ExponentialBackoffRetryPolicy(timeSlot: timeSlot,
9-
maxDelay: maxDelay,
10-
jitter: jitter)
9+
maxDelay: maxDelay,
10+
jitter: jitter)
1111
return ColdRetrier(policy: policy, conditionPublisher: nil)
1212
}
1313

Tests/SwiftRetrierTests/Retriers/ProtocolBasedTests/FallibleRetrierTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class FallibleRetrierTests<R: Retrier>: XCTestCase {
2020
super.tearDown()
2121
}
2222

23-
func test_publisher_trial_failure_received() {
23+
func test_Should_PublishCompletionEventWithError_When_JobFailsAndPolicyGivesUp() {
2424
let retrier = buildRetrier(Policy.testDefault(maxAttempts: 1), immediateFailureJob)
2525
let expectation = expectation(description: "Failure completion received")
2626
let cancellable = retrier
@@ -34,7 +34,7 @@ class FallibleRetrierTests<R: Retrier>: XCTestCase {
3434
cancellable.cancel()
3535
}
3636

37-
func test_publisher_completes_on_trial_failure() {
37+
func test_Should_CompleteSuccessPublisher_When_JobFailsAndPolicyGivesUp() {
3838
let retrier = buildRetrier(Policy.testDefault(maxAttempts: 1), immediateFailureJob)
3939
let expectation = expectation(description: "Completion received")
4040
let cancellable = retrier
@@ -46,7 +46,7 @@ class FallibleRetrierTests<R: Retrier>: XCTestCase {
4646
cancellable.cancel()
4747
}
4848

49-
func test_cancellation_propagated_to_job() {
49+
func test_Should_ThrowErrorInJob_When_RetrierIsCancelled() {
5050
let cancellationExpectation = expectation(description: "Cancellation catched")
5151
var fulfilled = false
5252
let retrier = buildRetrier(Policy.testDefault(maxAttempts: 1), {
@@ -66,7 +66,7 @@ class FallibleRetrierTests<R: Retrier>: XCTestCase {
6666
}
6767

6868
@MainActor
69-
func test_deallocated_some_time_after_failure() async throws {
69+
func test_Should_DeallocateRetrier_When_RetrierHasCompletedWithFailureSomeTimeAgo() async throws {
7070
weak var retrier = retrier(Policy.testDefault(maxAttempts: 1), immediateFailureJob)
7171
try await taskWait()
7272
XCTAssertNil(retrier)

Tests/SwiftRetrierTests/Retriers/ProtocolBasedTests/RetrierTests.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class RetrierTests<R: Retrier>: XCTestCase {
2020
super.tearDown()
2121
}
2222

23-
func test_attempt_failure_received() {
23+
func test_Should_PublishAttemptFailureWithJobError_When_JobFails() {
2424
let retrier = buildRetrier({ throw defaultError })
2525
let expectation = expectation(description: "Failure received")
2626
let cancellable = retrier
@@ -34,7 +34,7 @@ class RetrierTests<R: Retrier>: XCTestCase {
3434
cancellable.cancel()
3535
}
3636

37-
func test_attempt_success_received() {
37+
func test_Should_PublishAttemptSuccess_When_JobSucceeds() {
3838
let retrier = buildRetrier(immediateSuccessJob)
3939
let expectation = expectation(description: "Success received")
4040
let cancellable = retrier
@@ -48,7 +48,7 @@ class RetrierTests<R: Retrier>: XCTestCase {
4848
cancellable.cancel()
4949
}
5050

51-
func test_retries() {
51+
func test_Should_PublishAttemptFailureThenAttemptSuccess_When_JobFailsThenSucceeds() {
5252
var calledOnce = false
5353
let retrier = buildRetrier({
5454
if !calledOnce {
@@ -78,15 +78,15 @@ class RetrierTests<R: Retrier>: XCTestCase {
7878
cancellable.cancel()
7979
}
8080

81-
func test_job_not_called_on_immediate_cancellation() {
81+
func test_Should_NotExecuteJob_When_RetrierIsCancelledInTheSameCycleItIsCreated() {
8282
let retrier = buildRetrier({
8383
XCTFail("Should not be called on immediate cancellation")
8484
})
8585
retrier.cancel()
8686
_ = XCTWaiter.wait(for: [expectation(description: "Wait for some time")], timeout: defaultSequenceWaitingTime)
8787
}
8888

89-
func test_proper_event_received_after_immediate_cancellation() {
89+
func test_Should_PublishCompletionWithCancellationError_When_RetrierIsCancelledInTheSameCycleItIsCreated() {
9090
let retrier = buildRetrier(immediateSuccessJob)
9191
let completionExpectation = expectation(description: "Completion with CancellationError received")
9292
let cancellable = retrier.publisher()
@@ -108,7 +108,7 @@ class RetrierTests<R: Retrier>: XCTestCase {
108108
cancellable.cancel()
109109
}
110110

111-
func test_finished_received_after_cancellation() {
111+
func test_Should_CompletePublisherWithFinished_When_RetrierIsCancelled() {
112112
let failureExpectation = expectation(description: "Failure received")
113113
let retrier = buildRetrier(immediateSuccessJob)
114114
let cancellable = retrier.publisher()
@@ -124,15 +124,15 @@ class RetrierTests<R: Retrier>: XCTestCase {
124124
}
125125

126126
@MainActor
127-
func test_deallocated_some_time_after_cancellation() async throws {
127+
func test_Should_DeallocateRetrier_When_RetrierWasCancelledSomeTimeAgo() async throws {
128128
weak var retrier = retrier(immediateFailureJob)
129129
retrier?.cancel()
130130
try await taskWait()
131131
XCTAssertNil(retrier)
132132
}
133133

134134
@MainActor
135-
func test_still_trying_while_not_finished_and_not_retained() async throws {
135+
func test_Should_StillRetry_When_RetrierNotFinishedAndNotRetained() async throws {
136136
var shouldSignalExecution = false
137137
var executed = false
138138
weak var retrier = retrier {

Tests/SwiftRetrierTests/Retriers/ProtocolBasedTests/SingleOutputConditionalRetrierTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class SingleOutputConditionalRetrierTests<R: SingleOutputRetrier>: XCTestCase {
2121
}
2222

2323
@MainActor
24-
func test_error_thrown_when_condition_publisher_completes_with_no_value() async {
24+
func test_Should_ThrowErrorOnValueAwaiting_When_ConditionPublisherCompletesWithNoValue() async {
2525
let condition = Empty<Bool, Never>().eraseToAnyPublisher()
2626
let retrier = buildRetrier(condition, immediateSuccessJob)
2727
do {
@@ -31,7 +31,7 @@ class SingleOutputConditionalRetrierTests<R: SingleOutputRetrier>: XCTestCase {
3131
}
3232

3333
@MainActor
34-
func test_error_thrown_when_condition_publisher_completes_after_false() async {
34+
func test_Should_ThrowErrorOnValueAwaiting_When_ConditionPublisherCompletesAfterPublishingFalse() async {
3535
let condition = Just(false)
3636
.eraseToAnyPublisher()
3737
let retrier = buildRetrier(condition, immediateSuccessJob)
@@ -41,7 +41,7 @@ class SingleOutputConditionalRetrierTests<R: SingleOutputRetrier>: XCTestCase {
4141
} catch {}
4242
}
4343

44-
func test_receive_second_trial_async_value() {
44+
func test_Should_SuccessfullyAwaitValue_When_ConditionPublisherCausesASecondTrialThatSucceeds() {
4545
let job = {
4646
try await taskWait()
4747
}
@@ -55,7 +55,7 @@ class SingleOutputConditionalRetrierTests<R: SingleOutputRetrier>: XCTestCase {
5555
}
5656

5757
@MainActor
58-
func test_receive_publisher_completion_after_second_trial_finished() async {
58+
func test_Should_CompletePublisherWithFinished_When_ConditionPublisherCausesASecondTrialThatSucceeds() async {
5959
let job = {
6060
try await taskWait()
6161
}
@@ -72,7 +72,7 @@ class SingleOutputConditionalRetrierTests<R: SingleOutputRetrier>: XCTestCase {
7272
cancellable.cancel()
7373
}
7474

75-
func test_right_attempts_count() {
75+
func test_Should_ExecuteJobTheRightNumberOfTimes_When_ConditionPublisherInterruptsATrial() {
7676
var failedOnce = false
7777
var jobExecutionCount = 0
7878
let job = {

Tests/SwiftRetrierTests/Retriers/ProtocolBasedTests/SingleOutputFallibleRetrierTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ class SingleOutputFallibleRetrierTests<R: SingleOutputRetrier>: XCTestCase {
2020
}
2121

2222
@MainActor
23-
func test_async_value_throws_on_trial_failure() async {
23+
func test_Should_ThrowErrorOnValueAwaiting_When_PolicyGivesUp() async {
2424
let retrier = buildRetrier(Policy.testDefault().giveUpAfter(maxAttempts: 1), immediateFailureJob)
2525
do {
2626
_ = try await retrier.value
2727
XCTFail("Unexpected success")
2828
} catch {}
2929
}
3030

31-
func test_publisher_finished_received_on_trial_failure() {
31+
func test_Should_ReceiveFinishedCompletionOnFailurePublisher_When_RetrierSucceedsOnLastAttempt() {
3232
let retrier = buildRetrier(Policy.testDefault(maxAttempts: 1), immediateSuccessJob)
3333
let expectation = expectation(description: "Finished received")
3434
let cancellable = retrier
@@ -42,7 +42,7 @@ class SingleOutputFallibleRetrierTests<R: SingleOutputRetrier>: XCTestCase {
4242
cancellable.cancel()
4343
}
4444

45-
func test_publisher_attempt_failure_received_on_trial_failure() {
45+
func test_Should_ReceiveAttemptFailureOnFailurePublisher_When_JobFailsOnLastAttempt() {
4646
let retrier = buildRetrier(Policy.testDefault(maxAttempts: 1), immediateFailureJob)
4747
let expectation = expectation(description: "Attempt failure received")
4848
let cancellable = retrier

Tests/SwiftRetrierTests/Retriers/ProtocolBasedTests/SingleOutputRetrierTests.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class SingleOutputRetrierTests<R: SingleOutputRetrier>: XCTestCase {
1919
super.tearDown()
2020
}
2121

22-
func test_publisher_finished_received_on_success() {
22+
func test_Should_CompletePublisherWithFinished_When_JobSucceeds() {
2323
let retrier = buildRetrier(immediateSuccessJob)
2424
let expectation = expectation(description: "Finished received")
2525
let cancellable = retrier
@@ -33,7 +33,7 @@ class SingleOutputRetrierTests<R: SingleOutputRetrier>: XCTestCase {
3333
cancellable.cancel()
3434
}
3535

36-
func test_success_publisher_finished_received_on_success() {
36+
func test_Should_CompleteSuccessPublisherWithFinished_When_JobSucceeds() {
3737
let retrier = buildRetrier(immediateSuccessJob)
3838
let expectation = expectation(description: "Finished received")
3939
let cancellable = retrier
@@ -47,7 +47,7 @@ class SingleOutputRetrierTests<R: SingleOutputRetrier>: XCTestCase {
4747
cancellable.cancel()
4848
}
4949

50-
func test_finishes_after_retry() {
50+
func test_Should_CompletePublisherWithFinished_When_JobSucceedsAfterOneRetry() {
5151
var calledOnce = false
5252
let retrier = buildRetrier({
5353
if !calledOnce {
@@ -66,7 +66,7 @@ class SingleOutputRetrierTests<R: SingleOutputRetrier>: XCTestCase {
6666
cancellable.cancel()
6767
}
6868

69-
func test_async_value_received_after_retry() {
69+
func test_Should_ReceiveAsyncValue_When_JobSucceedsAfterOneRetry() {
7070
var calledOnce = false
7171
let retrier = buildRetrier({
7272
if !calledOnce {
@@ -83,7 +83,7 @@ class SingleOutputRetrierTests<R: SingleOutputRetrier>: XCTestCase {
8383
}
8484

8585
@MainActor
86-
func test_await_value_throws_on_cancellation() async throws {
86+
func test_Should_ThrowErrorInJobAndInValueAwaiting_When_RetrierIsCancelled() async throws {
8787
let expectation = expectation(description: "Cancellation catched")
8888
let retrier = buildRetrier({
8989
do {
@@ -103,7 +103,7 @@ class SingleOutputRetrierTests<R: SingleOutputRetrier>: XCTestCase {
103103
}
104104

105105
@MainActor
106-
func test_value_await_resolves_when_already_succeeded() async throws {
106+
func test_Should_SucceedValueAwaiting_When_AwaitStartedAfterRetrierSuccessfulResolution() async throws {
107107
let retrier = buildRetrier(immediateSuccessJob)
108108
// Let the retrier finish
109109
try await taskWait()
@@ -116,7 +116,7 @@ class SingleOutputRetrierTests<R: SingleOutputRetrier>: XCTestCase {
116116
}
117117

118118
@MainActor
119-
func test_deallocated_some_time_after_success() async throws {
119+
func test_Should_DeallocateRetrierAfterSomeTime_When_RetrierSuccessfullyFinished() async throws {
120120
weak var retrier = retrier(immediateSuccessJob)
121121
try await taskWait()
122122
XCTAssertNil(retrier)

0 commit comments

Comments
 (0)