New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Delay #55
Delay #55
Conversation
Hello @beastgrim! I've quickly looked at your implementation. I don't really think we need FlatMap here. You can look at how other publishers like Map are implemented: in the In case of Delay, I imagine that in the We must keep those Also can I ask you to fix the conflicts? |
I also don't think you need RunLoop in your tests. Using RunLoop in tests makes those test asynchronous, which automatically means less stable and slower. My idea was to use a custom-crafted synchronous
This will allow us to not depend on RunLoop and make our tests rubost. |
@broadwaylamb I'm going to do all that you recommended. First I will implement VirtualTimeScheduler and complete the tests and then complete implementation of Delay. But I think VirtualTimeScheduler (our tests) can't cover all async behaviour of Delay that I found and there is may some bugs because of that. Maybe I'm wrong. Anyway, we will return to this when everything is ready. Thanks for help! |
All the asynchrony in Delay is abstracted away by the |
VirtualTimeSchedulerTests: added DelayTests: updated tests with VirtualTimeScheduler
LGTM Generated by 🚫 Danger Swift against c6d5df4 |
@broadwaylamb Take a look on current progress please. |
Thanks @beastgrim, I’ll take a look as soon as I have some time. I’ve just merged #46, you can take a look at how I’ve implemented DispatchQueue’s conformance to the |
I've created #114 based on your work with more tests, and also refined some things, so I'm gonna close this. Thank you for the PR! |
Hello! I've done some work for "Delay" feature.
It's not complete yet because I need advice for some troubles.
First: It can't be completed until "FlatMap" is done.
Second: I can't finish tests for "Delay" because we don't have RunLoop in OpenCombine.
But I've tested all functionality on iOS and all works as expected with this implementation (all existed tests pass).
Best regards!