Skip to content
Kata del mes de Enero del 2011: String Calculator
PHP Java Ruby Python C# Groovy Other
Find file
Failed to load latest commit information.
Aitortxu Fix repo
Arween17 Kata StringCalculator en Java
Capelare Updated test.c for the next step of the exercise.
GerardoGomez Primer paso terminado
JNavas/StringCalculator Proyect de Joan Navarrete Sanchez
MuDestructor Fix repo
Sivainvi Fix repo
VictorVelarde Inicio del kata...
aabilio/bash/src Fix repo
agileando Fix repo
agutierrez Fix repo
alejandrogomez refactorizar add()
alex952 Fix repo
alonsogarciapablo Fix repo
amaneiro Fix repo
amedio Test con saltos de lineas
amuino Fix repo
animalaes Fix repo
armenta-angel/src fuera ficheros eclipse
arturoherrero Fix repo
calavera/ruby Fix repo
cavalle Fix repo
cchau Added a Calculator Kata written in C
cibernox my first kata. It was fun!
darkturo Ended. Tookme 5 minutes more to finish this because of debbuging :-/
davamix Fix repo
deadsunrise Fix repo
diegoguemes/EneroStringCalculator Separando responsabilidades en StringCalculator
discolo Fix repo
drodriguez Fix repo
eamodeorubio Fix repo
eferro/src Fix repo
ejosafat Fix repo
elmendalerenda Fix repo
enriclluelles ruby implementation
erpheus Fix repo
flype Fix repo
fperezpt Fix repo
gaizka/string_calculator Fix repo
germandz Fix repo
ggalmazor Fix repo
gonzalo123 Fix repo
harad Fix repo
hell03610 Fix repo
hvicente Fix repo
ialcazar Fix repo
ign4ci0 Fix repo
ikercelorrio/java/StringCalculator After Test 5.2 - Brutal Refactor (Brutal?) Yeah!
j0hn Fix repo
jacegu Fix repo
japaz Fix repo
javisantana Fix repo
jbeerdev Fix repo
jesantana/Groovy primer commit a 12meses12katas
jjfalcon Fix repo
jjuarez/ruby Fix repo
jlebrijo StringCalculator Java Kata, con video
jlopez Fix repo
jomarmen Fix repo
joseraya Fix repo
josmas Fix repo
jparcol Fix repo
jrdi Finish ruby version
jsayar/stringcalculator Initial commit for kata of Jesus Sayar
juriarte Fix repo
kinisoftware Fix repo
lantoli get delimiters function improved
luque Fix repo
magmax Fix repo
manute Manute Kata
mariotux Fix repo
mfdez1982 Fix repo
mgryszko Fix repo
miguelerm Fix repo
minayaserrano Kata de Enero StringCalculator en PHP5.3
montes Fix repo
neodevelop Mi solucion con groovy..
penyaskito/php Fix repo
pereta Fix repo
plagelao Fix repo
porras Fix repo
prietopa Enero 12meses12katas
programania Fix repo
rafadc Fix repo
remosu Allow multiple delimiters
rmhdev/php (php) Kata resolved. Cleaning code.
robjperez/StringCalculator Fix repo
rubendelafuente Fix repo
sergiogragera Kata enero: StringCalculator (Java)
sortega Fix repo
sourcerebels Fix repo
soyangel Fix repo
ssoto Fix repo
txingo Fix repo
xexu Fix repo
yodogi Final del ejercicio
README Fix repo


Instrucciones de la Kata String Calculator (sacadas de la web:

Before you start:
- Try not to read ahead.
- Do one task at a time. The trick is to learn to work incrementally.
- Make sure you only test for correct inputs. there is no need to test for invalid inputs for this kata
String Calculator:

1) Create a simple String calculator with a method int Add(string numbers)
    1. The method can take 0, 1 or 2 numbers, and will return their sum (for an empty string it will return 0) for example “” or “1” or “1,2”
    2. Start with the simplest test case of an empty string and move to 1 and two numbers
    3. Remember to solve things as simply as possible so that you force yourself to write tests you did not think about
    4. Remember to refactor after each passing test
2) Allow the Add method to handle an unknown amount of numbers
3) Allow the Add method to handle new lines between numbers (instead of commas).
    1. the following input is ok:  “1\n2,3”  (will equal 6)
    2. the following input is NOT ok:  “1,\n” (not need to prove it - just clarifying)
4) Support different delimiters
    1. to change a delimiter, the beginning of the string will contain a separate line that looks like this:   “//[delimiter]\n[numbers…]” for example “//;\n1;2” should return three where the default delimiter is ‘;’ .
    2. the first line is optional. all existing scenarios should still be supported
5) Calling Add with a negative number will throw an exception “negatives not allowed” - and the negative that was passed.if there are multiple negatives, show all of them in the exception message

stop here if you are a beginner. Continue if you can finish the steps so far in less than 30 minutes.

6) Numbers bigger than 1000 should be ignored, so adding 2 + 1001  = 2
7) Delimiters can be of any length with the following format:  “//[delimiter]\n” for example: “//[***]\n1***2***3” should return 6
8) Allow multiple delimiters like this:  “//[delim1][delim2]\n” for example “//[*][%]\n1*2%3” should return 6.
9) make sure you can also handle multiple delimiters with length longer than one char
Something went wrong with that request. Please try again.