TDD 연습하기 - RomanNumber
1부터 1000사이의 숫자를 주면 로마숫자로 변환하는 프로그램을 TDD로 개발하시오.
점심시간에 밥 빨리먹고 심심하신 분들 한 번 해보세요. 재밌네요. 캬캬..
토비형님은 자바코드 열댓줄 루비코드 대여섯줄이면 끝난다고 하네요... 워우...
자바코드로 짜실 분들을 위테 테스트코드를 올려드리겠습니다.
assertEquals("I", maker.convert(1));
assertEquals("II", maker.convert(2));
assertEquals("III", maker.convert(3));
assertEquals("IV", maker.convert(4));
assertEquals("V", maker.convert(5));
assertEquals("VI", maker.convert(6));
assertEquals("VII", maker.convert(7));
assertEquals("VIII", maker.convert(8));
assertEquals("IX", maker.convert(9));
assertEquals("X", maker.convert(10));
assertEquals("XI", maker.convert(11));
assertEquals("XII", maker.convert(12));
assertEquals("XIII", maker.convert(13));
assertEquals("XIV", maker.convert(14));
assertEquals("XV", maker.convert(15));
assertEquals("XIX", maker.convert(19));
assertEquals("XX", maker.convert(20));
assertEquals("XXX", maker.convert(30));
assertEquals("XL", maker.convert(40));
assertEquals("L", maker.convert(50));
assertEquals("LX", maker.convert(60));
assertEquals("LXX", maker.convert(70));
assertEquals("LXXX", maker.convert(80));
assertEquals("XC", maker.convert(90));
assertEquals("C", maker.convert(100));
assertEquals("CC", maker.convert(200));
assertEquals("CD", maker.convert(400));
assertEquals("D", maker.convert(500));
assertEquals("DCLXVI", maker.convert(666));
assertEquals("CM", maker.convert(900));
assertEquals("M", maker.convert(1000));
assertEquals("MCMXLV", maker.convert(1945));
assertEquals("MCMXCIX", maker.convert(1999));
assertEquals("MM", maker.convert(2000));
assertEquals("MMM", maker.convert(3000));
assertEquals("ↁ", maker.convert(5000));
assertEquals("II", maker.convert(2));
assertEquals("III", maker.convert(3));
assertEquals("IV", maker.convert(4));
assertEquals("V", maker.convert(5));
assertEquals("VI", maker.convert(6));
assertEquals("VII", maker.convert(7));
assertEquals("VIII", maker.convert(8));
assertEquals("IX", maker.convert(9));
assertEquals("X", maker.convert(10));
assertEquals("XI", maker.convert(11));
assertEquals("XII", maker.convert(12));
assertEquals("XIII", maker.convert(13));
assertEquals("XIV", maker.convert(14));
assertEquals("XV", maker.convert(15));
assertEquals("XIX", maker.convert(19));
assertEquals("XX", maker.convert(20));
assertEquals("XXX", maker.convert(30));
assertEquals("XL", maker.convert(40));
assertEquals("L", maker.convert(50));
assertEquals("LX", maker.convert(60));
assertEquals("LXX", maker.convert(70));
assertEquals("LXXX", maker.convert(80));
assertEquals("XC", maker.convert(90));
assertEquals("C", maker.convert(100));
assertEquals("CC", maker.convert(200));
assertEquals("CD", maker.convert(400));
assertEquals("D", maker.convert(500));
assertEquals("DCLXVI", maker.convert(666));
assertEquals("CM", maker.convert(900));
assertEquals("M", maker.convert(1000));
assertEquals("MCMXLV", maker.convert(1945));
assertEquals("MCMXCIX", maker.convert(1999));
assertEquals("MM", maker.convert(2000));
assertEquals("MMM", maker.convert(3000));
assertEquals("ↁ", maker.convert(5000));
간단하지요. 테스트 코드 짜는건 쉬운데.. (위키피디아에 있는 표를 전부 테스트 해봤습니다. 불필요한 것도 있겠지만.. 뭐 어때요. 캬캬캬) 전 구현해보니 60줄 정도 나왔습니다. 토비형님 코드의 4 배... 라인수는 Ctrl + Shift + F 기준입니다.
저녁값 내기로 가장 짧은 코드로 구현하기 뭐 이런거 해도 재밌겠네요. 전 .. 그러고 놀 수 사람이... 없어요. 흑흑.. 외로워... 흑흑흑... 이젠 어려운 자바습이랑 놀아야지.. @.@ 자바습아 이리온...
풀어보신 분들은 저처럼 소스 코드를 올려주세요. 부끄럽지만 제 파일도 올려둡니다. 재밌게 공유해 보아요.