| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import org.junit.Test;
- import org.junit.Ignore;
- import org.junit.runner.RunWith;
- import org.junit.runners.Parameterized;
- import org.junit.runners.Parameterized.Parameters;
-
- import java.util.Arrays;
- import java.util.Collection;
-
- import static org.junit.Assert.assertEquals;
-
- @RunWith(Parameterized.class)
- public class RaindropConverterTest {
-
- private int inputNumber;
- private String outputFromRaindropConversion;
-
- @Parameters(name = "{index}: expected input number {0} to be converted to \"{1}\"")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- // Non-primes
- {1, "1"},
- {8, "8"},
- {52, "52"},
-
- // Numbers with 3 as a prime factor
- {3, "Pling"},
- {6, "Pling"},
- {9, "Pling"},
- {27, "Pling"},
-
- // Numbers with 5 as a prime factor
- {5, "Plang"},
- {10, "Plang"},
- {25, "Plang"},
- {3125, "Plang"},
-
- // Numbers with 7 as a prime factor
- {7, "Plong"},
- {14, "Plong"},
- {49, "Plong"},
-
- // Numbers with multiple activating prime factors
- {15, "PlingPlang"},
- {21, "PlingPlong"},
- {35, "PlangPlong"},
- {105, "PlingPlangPlong"},
- });
- }
-
- public RaindropConverterTest(int inputNumber, String outputFromRaindropConversion) {
- this.inputNumber = inputNumber;
- this.outputFromRaindropConversion = outputFromRaindropConversion;
- }
-
-
- @Test
- public void test() {
- assertEquals(outputFromRaindropConversion, new RaindropConverter().convert(inputNumber));
- }
- }
|