At TDD Buddy, we're proud to offer a unique kata catalog that goes beyond the usual suspects. In addition to well-known katas, we've curated a selection of lesser-known katas from a variety of sources to keep things fresh and exciting. We've also created a number of custom-made katas designed specifically to challenge your skills and help you become a better tester. These katas are carefully crafted to test different aspects of testing, such as edge cases, boundary values, and more, to help you hone your testing skills and think outside the box.

Whether you're seasoned or just starting out, our diverse selection of katas will keep you engaged and help you continue to grow on your TDD journey.

You can see all the solutions we have on github.

100 Doors

A beginner-friendly kata features 100 doors being toggled during each pass, providing an excellent exercise for those new to programming languages.

Solutions: C# | Python

Balanced Brackets

An uncomplicated kata focused on verifying that a string contains balanced brackets, suitable for honing coding skills.

Solutions: C# | Python

Character Copy

A great kata for introducing mocks. It's simple implementation allows for complete focus on understanding mocking.

Solutions: C# | Python

Heavy Metal Bake Sale

The program must manage inventory for four items, calculate totals, check if there's enough stock, and determine change to give if a customer overpays.

Solutions: C# | Python

IP Validator

A simple kata involving the validation of IPv4 addresses.


Solutions: C# | Python

Last Sunday of Each Month

A fun kata to find the last sunday of each month in a given year.

Solutions: C# | Python

Mars Rover

A kata to build a rover that moves around Mars. This was a great JavaScript kata. A follow-on action would be to build a UI using Angular or React on-top of the library.

Maze Walker

A refactoring kata in C#. It was found on RedGate's website. A great kata to do as a mob.

Numbers to Words

An intermediate kata about converting numbers to words. E.g. 2400 is two thousand four hundred. It is a great kata for learning a new language.

Solutions: C# | Python

Password

An intermediate kata involving DB integration test or Substitutes. It contains C# specific references.

Memory Cache

An intermediate kata about building a in-memory cache, think advanced dictionary.

URL Parts

An intermediate kata about parsing a URL into its parts. A great kata to do as a mob.

End-of-line Trim

A simple kata about trimming whitespace at the end of a line. A great kata to do as a mob.

Calculator Refactor

A refactoring kata. The code base is a WPF Calculator sample app.

Time Sheet Calculator

An intermediate kata about building a time calculator to figure billable hours for a day.

Laundry Reservation

A kata about an IoT device for the laundromat industry. It is very mocking focused.

Poker Hands

A difficult kata about ranking and comparing poker hands.

Bingo Kata

A difficult kata about making a bingo game driven by user stories.

Rock Paper Scissors

A kata about the classic game.

Fluent Calculator

An intermediate kata making a calculator, with fluent syntax, that has add and subtract operations. Check out our solution on github.

Clam Card

A kata about implementing a contact-less travel card for subways.

Social Network

A kata about building the fundamentals of a social network experience.

Fizz Buzz Whiz

A kata classic TDD kata with a twist.

URL Shortener

A kata about making short urls like https://goo.gl does.

Todo List

A kata about creating a command line todo list application

Greeting

A kata about greeting people. Starts off simple and increases in complexity.

Metric Converter

A very simple kata about converting metric units to imperial units. A great kata to learn a new language with.

Robot Factory

A kata about building custom robots. It is a more interesting take on the traditional shopping cart.

Change Maker

A kata about offering change for a purchase - think vending machine.

Age Calculator

A kata about calculating someones age. Great for finding boundaries and partitions