Thank you for your interest in the iOS Testing MiniBootcamp 2022!
This README file contains the instructions to complete the challenge to participate in the MiniBootcamp
This iOS MiniBootcamp is looking to explore and improve your testing concepts and skills.
At the end of the course, you will have gained enough experience to recall the essence of several techniques related to the skills covered in the mini bootcamp. Apply them correctly, and even provide shortcuts and quick ways for accomplishing your task.
- iOS SDK
- Swift
- Unit Testing
- TDD
- Dependency Injection
- Stub
- Mock
- Spy
- Dummy
The purpose of this challenge id for you to demonstrate your iOS skills. This is your chance to show off how would you implement the solution of this skills using the patterns you want and the way you prefer. Everything is up to you!
We donβt want to limit you by providing some fill-in-the-blanks exercises. Instead we want you to develop from your own creativity.
We hope you find this exercise challenging and engaging.
The app loads images from the web and displays them in a UICollectionView, but the behavior of the UI is weird and itβs freezing π΅βπ«
Implement a function to download the images in a smoothly way that allows a good UX when scrolling the UICollectionView.
Could you implement a method to wait until all images are downloaded before to display all in the UICollectionView? You can complement that operation with an animation while waiting
Implement the exercise number 1 & 2 completely. Keep the use of 3rd party libraries to the minimum. Please try implementing your own method to download images instead of using a downloader framework. If you use it, justify the use of it on the code.
We have provided an Xcode project in this repository. You can implement your code directly on the codebase. Feel free to add, remove or change anything if you consider it necessary.
Clone the repo in your local, and build & run. It builds and runs without any extra configuration or external dependency.
For submitting your work, you should follow these steps:
- Create a pull request with your code to the main branch
If you have any doubts, you can send them at: abner.castro@wizeline.com
Happy Coding! β¨οΈπ₯