swift-async-algorithms
swift-async-algorithms copied to clipboard
Debounce behaving weirdly in proposed unit test
I'd like to propose this additional unit test for debounce, which I think should be fixed before the final 1.0.0 release:
func test_debounce() throws {
guard #available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) else { throw XCTSkip("Skipped due to Clock/Instant/Duration availability") }
validate {
"ab--cd-e-f---gh|"
$0.inputs[0].debounce(for: .steps(3), clock: $0.clock)
"------------f--[h|]"
}
}
The test currently fails as:
failed - Validation failure: Expected: ------------f--[h|] Actual: ----b-------c--[dh|]
That actual output can't possibly be right, can it?
Side note, if it helps to debug this…
Curiously, the test passes if only slightly tweaking the input:
-"ab--cd-e-f---gh|"
+"ab-c-d-e-f---gh|"