Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
26 changes: 26 additions & 0 deletions 26 .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions 3 .idea/copyright/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 35 additions & 0 deletions 35 .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions 10 .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 29 additions & 0 deletions 29 src/main/java/com/thoughtworks/core/Convert.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.thoughtworks.core;

/**
* Created by hliang on 14/12/2016.
*/
public class Convert {
private Core core;

public Convert(Core p0) {
core = p0;
}

public String[] convertToNumberDescriptions(int max) {
String[] res = new String[max];
for (int i = 0; i < max; i++) {
res[i] = core.convertToNumberDescription(i+1);
}
return res;
}

public static void main(String[] args) {
Core core = new Core();
Convert convert = new Convert(core);
String[] numberDescriptions = convert.convertToNumberDescriptions(100);
for (String numberDescription : numberDescriptions) {
System.out.println(numberDescription);
}
}
}
17 changes: 17 additions & 0 deletions 17 src/main/java/com/thoughtworks/core/Core.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.thoughtworks.core;

/**
* Created by hliang on 13/12/2016.
*/
public class Core {
public String convertToNumberDescription(int number) {
if (number % 3 == 0 && number % 5 == 0) {
return "FizzBuzz";
} else if (number % 3 == 0) {
return "Fizz";
} else if (number % 5 == 0) {
return "Buzz";
}
return ""+number;
}
}
47 changes: 47 additions & 0 deletions 47 src/test/java/com/thoughtworks/core/ConvertTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.thoughtworks.core;

import org.junit.Test;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
* Created by hliang on 14/12/2016.
*/
public class ConvertTest {
@Test
public void should_return_array0_given_0 () {
//given
Core core = new Core();
Convert convert = new Convert(core);
//when
String[] result = convert.convertToNumberDescriptions(0);
//then
assertThat(result).isEqualTo(new String[0]);
}
@Test
public void should_return_array1_given_1 () {
//given
Core core = mock(Core.class);
Convert convert = new Convert(core);
when(core.convertToNumberDescription(1)).thenReturn("1");
//when
String[] result = convert.convertToNumberDescriptions(1);
//then
assertThat(result).isEqualTo(new String[]{"1"});
}
@Test
public void should_return_array3_given_3 () {
//given
Core core = mock(Core.class);
Convert convert = new Convert(core);
when(core.convertToNumberDescription(1)).thenReturn("1");
when(core.convertToNumberDescription(2)).thenReturn("2");
when(core.convertToNumberDescription(3)).thenReturn("Fizz");
//when
String[] result = convert.convertToNumberDescriptions(3);
//then
assertThat(result).isEqualTo(new String[]{"1","2","Fizz"});
}
}
55 changes: 55 additions & 0 deletions 55 src/test/java/com/thoughtworks/core/CoreTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package com.thoughtworks.core;
import org.junit.Test;

import static org.assertj.core.api.Assertions.assertThat;

/**
* Created by hliang on 13/12/2016.
*/
public class CoreTest {
@Test
public void should_return_1_given_1 () {
//given
int number = 1;
//when
String actualValue = new Core().convertToNumberDescription(number);
//then
assertThat(actualValue).isEqualTo("1");
}
@Test
public void should_return_Fizz_given_3 () {
//given
int number = 3;
//when
String actualValue = new Core().convertToNumberDescription(number);
//then
assertThat(actualValue).isEqualTo("Fizz");
}
@Test
public void should_return_Buzz_given_5 () {
//given
int number = 5;
//when
String actualValue = new Core().convertToNumberDescription(number);
//then
assertThat(actualValue).isEqualTo("Buzz");
}
@Test
public void should_return_FizzBuzz_given_15 () {
//given
int number = 15;
//when
String actualValue = new Core().convertToNumberDescription(number);
//then
assertThat(actualValue).isEqualTo("FizzBuzz");
}
@Test
public void should_return_16_given_16 () {
//given
int number = 16;
//when
String actualValue = new Core().convertToNumberDescription(number);
//then
assertThat(actualValue).isEqualTo("16");
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.