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

HammingTest.java 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import static org.hamcrest.CoreMatchers.*;
  2. import static org.junit.Assert.*;
  3. import org.junit.Test;
  4. public class HammingTest {
  5. @Test
  6. public void testNoDifferenceBetweenIdenticalStrands() {
  7. assertThat(Hamming.compute("A", "A"), is(0));
  8. }
  9. @Test
  10. public void testCompleteHammingDistanceOfForSingleNucleotideStrand() {
  11. assertThat(Hamming.compute("A", "G"), is(1));
  12. }
  13. @Test
  14. public void testCompleteHammingDistanceForSmallStrand() {
  15. assertThat(Hamming.compute("AG", "CT"), is(2));
  16. }
  17. @Test
  18. public void testSmallHammingDistance() {
  19. assertThat(Hamming.compute("AT", "CT"), is(1));
  20. }
  21. @Test
  22. public void testSmallHammingDistanceInLongerStrand() {
  23. assertThat(Hamming.compute("GGACG", "GGTCG"), is(1));
  24. }
  25. @Test(expected = IllegalArgumentException.class)
  26. public void testValidatesFirstStrandNotLonger() {
  27. Hamming.compute("AAAG", "AAA");
  28. }
  29. @Test(expected = IllegalArgumentException.class)
  30. public void testValidatesOtherStrandNotLonger() {
  31. Hamming.compute("AAA", "AAAG");
  32. }
  33. @Test
  34. public void testLargeHammingDistance() {
  35. assertThat(Hamming.compute("GATACA", "GCATAA"), is(4));
  36. }
  37. @Test
  38. public void testHammingDistanceInVeryLongStrand() {
  39. assertThat(Hamming.compute("GGACGGATTCTG", "AGGACGGATTCT"), is(9));
  40. }
  41. }