Karumi Dojo • We are here to practice and learn. • This is a bullshit free environment. • This exercise meant to be collaborative, not competitive. • Try to open your mind to new concepts.
Karumi Dojo • We are here to practice Test-Driven Development. • TDD is a software development process, not a dogma. • We are going to practice pair programming. • Keep always in mind the TDD Cycle.
Rules: • Write enough test code so that to get a single test failure. • Write enough production code to get all your tests to pass. • Refactor until the code is Simple/Clean.
Roman Numerals The Romans wrote numbers using letters - I, V, X, L, C, D, M. The Kata says you should write a function to convert from normal numbers to Roman Numerals: eg 1 --> I 10 --> X 7 --> VII For a full description of how it works, take a look at http://www.novaroma.org/via_romana/numbers. html. * There is no need to be able to convert numbers larger than 3000.
Tips • Baby steps. • Don’t lose the green. • Choose the language you prefer. • Refactor your code. • Build errors are not failing tests. • Follow the TDD Cycle.
Contract testing • Contract tests check if the contract defined by a interface is implemented properly. • Using inheritance we are going to create a base test cases which every implementation has to execute. • Take two different sorting algorithms and apply this technique.