lots of exercises in java... from https://github.com/exercism/java

PrimeFactorsTest.java 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import org.junit.Test;
  2. import org.junit.Ignore;
  3. import org.junit.runner.RunWith;
  4. import org.junit.runners.Parameterized;
  5. import org.junit.runners.Parameterized.Parameters;
  6. import java.util.Arrays;
  7. import java.util.Collection;
  8. import java.util.List;
  9. import static org.junit.Assert.assertEquals;
  10. @RunWith(Parameterized.class)
  11. public class PrimeFactorsTest {
  12. private long input;
  13. private List<Long> expectedOutput;
  14. @Parameters(name="Prime factors of {0} = {1}")
  15. public static Collection<Object[]> data() {
  16. return Arrays.asList(new Object[][]{
  17. {1L, Arrays.asList()},
  18. {2L, Arrays.asList(2L)},
  19. {3L, Arrays.asList(3L)},
  20. {4L, Arrays.asList(2L, 2L)},
  21. {6L, Arrays.asList(2L, 3L)},
  22. {8L, Arrays.asList(2L, 2L, 2L)},
  23. {9L, Arrays.asList(3L, 3L)},
  24. {27L, Arrays.asList(3L, 3L, 3L)},
  25. {625L, Arrays.asList(5L, 5L, 5L, 5L)},
  26. {901255L, Arrays.asList(5L, 17L, 23L, 461L)},
  27. {93819012551L, Arrays.asList(11L, 9539L, 894119L)}
  28. });
  29. }
  30. public PrimeFactorsTest(long input, List<Long> expectedOutput) {
  31. this.input = input;
  32. this.expectedOutput = expectedOutput;
  33. }
  34. @Test
  35. public void test() {
  36. assertEquals(expectedOutput, PrimeFactors.getForNumber(input));
  37. }
  38. }