import static org.fest.assertions.api.Assertions.assertThat;
import org.junit.Ignore;
import org.junit.Test;
public class SpellTest {
@Test
public void it_should_spell_correctly_numbers_less_than_20(){
String[] answers = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen",
"sixteen", "seventeen", "eighteen", "nineteen"};
for(int i = 0 ; i <= 19 ; i++) {
assertThat(Speller.spell(i)).isEqualTo(answers[i]);
}
}
@Test
public void it_should_spell_tens(){
String[] answers = {"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};
int[] input = {20,30,40,50,60,70,80,90};
for(int i=0;i<input.length;i++){
assertThat(Speller.spell(input[i])).isEqualTo(answers[i]);
}
}
@Test
public void it_should_spell_composite_numbers_correctly_less_than_100(){
assertThat(Speller.spell(21)).isEqualTo("twenty one");
assertThat(Speller.spell(34)).isEqualTo("thirty four");
assertThat(Speller.spell(75)).isEqualTo("seventy five");
assertThat(Speller.spell(99)).isEqualTo("ninety nine");
}
@Test
public void it_should_spell_composite_numbers_correctly_less_than_1000(){
assertThat(Speller.spell(100)).isEqualTo("one hundred");
assertThat(Speller.spell(101)).isEqualTo("one hundred and one");
assertThat(Speller.spell(555)).isEqualTo("five hundred and fifty five");
assertThat(Speller.spell(999)).isEqualTo("nine hundred and ninety nine");
}
@Ignore
@Test
public void acceptance_test() {
assertThat(Speller.spell(2523)).isEqualTo("two thousand five hundred twenty three");
}
}