S01E13: Improving the Game Flow with Swift Generics

S01E13: Improving the Game Flow with Swift Generics

In this episode, we improve the Router and Flow components of the Engine framework by replacing the previously hardcoded String type for Question and Answer.

Read More
Comment

S01E12: Architecture Overview (Swift Quiz Game Bonus Episode)

S01E12: Architecture Overview (Swift Quiz Game Bonus Episode)

In this episode, we review the overall architecture of the game, so far formed by the Engine, Routing, Presentation and UI layers.

Read More

S01E11: [TDD 🍅 10] Finishing the Quiz UI

S01E11: [TDD 🍅 10] Finishing the Quiz UI

In this episode, we complete the Game UI. We put the final touches to the ResultsViewController by implementing the wrong answer cell and refactoring anything we see fit. Finally, we run the app and make sure the layout follows the guidelines of the prototype.

Read More

S01E10: [TDD 🍅 9] Testing Table View Cells in Swift

S01E10: [TDD 🍅 9] Testing Table View Cells in Swift

In this episode, we continue the implementation of ResultsViewController by test-driving the configuration of the cells. As we showcased in episode 7, the behavior and the layout of a view are two separate things, which can be tested and implemented independently.

Read More

S01E09: [TDD 🍅 8] Establishing a Presentation Layer in Swift

S01E09: [TDD 🍅 8] Establishing a Presentation Layer in Swift

In this episode, we continue the development of the UI as we start implementing the ResultsViewController, a class responsible for showing the result of a finished game. Unlike the QuestionViewController, we reach a point where we need to deal with more complicated logic for displaying the right information on the screen...

Read More

S01E08: [TDD 🍅 7] Testing Table Views in Swift

S01E08: [TDD 🍅 7] Testing Table Views in Swift

In this episode, we finish the QuestionViewController implementation by test-driving the table view delegate behavior. We start by refactoring the delegate selection in the QuestionViewController tests, and we lay out the UI to match the prototype.

Read More

S01E07: [TDD 🍅 6] Powerful Refactorings in Swift

S01E07: [TDD 🍅 6] Powerful Refactorings in Swift

In this episode, we refactor the QuestionViewController class and its tests, and we introduce a way for notifying a delegate when the user selects an answer.

We start the test refactoring by making use of a factory method with default values, so, in the event of...

Read More

S01E06: [TDD 🍅 5] Testing View Controllers in Swift

S01E06: [TDD 🍅 5] Testing View Controllers in Swift

In this episode, we dive in the UI side by following the same principles and disciplines we did before. We create and test-drive the QuestionViewController, a class responsible for displaying a question and its options for answers.

Read More

S01E05: [TDD 🍅 4] Swift Mutation Testing and Refactoring

S01E05: [TDD 🍅 4] Swift Mutation Testing and Refactoring

In this episode, we finish the Game Flow by creating a solution for accumulating the questions and answers and a new method for routing to the result.

We use the mutation testing technique to check if the behavior of the Flow class is well covered by our tests...

Read More

S01E04: [TDD 🍅 3] Swift Closures and Recursion

S01E04: [TDD 🍅 3] Swift Closures and Recursion

We begin the third tomato by sanitizing our FlowTest class. We refactor the tests by removing duplicated code, we talk about different ways for organizing the test setup code and we showcase the factory method for the creation of the system under test. These changes will prove very valuable as the project grows.

Read More
3 Comments