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

WordCountTest.java 4.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. import org.junit.Before;
  2. import org.junit.Test;
  3. import org.junit.Ignore;
  4. import java.lang.Integer;
  5. import java.lang.String;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. import static org.junit.Assert.*;
  9. public class WordCountTest {
  10. private WordCount wordCount;
  11. private Map<String, Integer> actualWordCount;
  12. private Map<String, Integer> expectedWordCount;
  13. @Before
  14. public void setup() {
  15. wordCount = new WordCount();
  16. expectedWordCount = new HashMap<>();
  17. }
  18. @Test
  19. public void countOneWord() {
  20. expectedWordCount.put("word", 1);
  21. actualWordCount = wordCount.phrase("word");
  22. assertEquals(
  23. expectedWordCount, actualWordCount
  24. );
  25. }
  26. @Ignore("Remove to run test")
  27. @Test
  28. public void countOneOfEachWord() {
  29. expectedWordCount.put("one", 1);
  30. expectedWordCount.put("of", 1);
  31. expectedWordCount.put("each", 1);
  32. actualWordCount = wordCount.phrase("one of each");
  33. assertEquals(
  34. expectedWordCount, actualWordCount
  35. );
  36. }
  37. @Ignore("Remove to run test")
  38. @Test
  39. public void multipleOccurrencesOfAWord() {
  40. expectedWordCount.put("one", 1);
  41. expectedWordCount.put("fish", 4);
  42. expectedWordCount.put("two", 1);
  43. expectedWordCount.put("red", 1);
  44. expectedWordCount.put("blue", 1);
  45. actualWordCount = wordCount.phrase("one fish two fish red fish blue fish");
  46. assertEquals(
  47. expectedWordCount, actualWordCount
  48. );
  49. }
  50. @Ignore("Remove to run test")
  51. @Test
  52. public void handlesCrampedLists() {
  53. expectedWordCount.put("one", 1);
  54. expectedWordCount.put("two", 1);
  55. expectedWordCount.put("three", 1);
  56. actualWordCount = wordCount.phrase("one,two,three");
  57. assertEquals(
  58. expectedWordCount, actualWordCount
  59. );
  60. }
  61. @Ignore("Remove to run test")
  62. @Test
  63. public void handlesExpandedLists() {
  64. expectedWordCount.put("one", 1);
  65. expectedWordCount.put("two", 1);
  66. expectedWordCount.put("three", 1);
  67. actualWordCount = wordCount.phrase("one,\ntwo,\nthree");
  68. assertEquals(
  69. expectedWordCount, actualWordCount
  70. );
  71. }
  72. @Ignore("Remove to run test")
  73. @Test
  74. public void ignorePunctuation() {
  75. expectedWordCount.put("car", 1);
  76. expectedWordCount.put("carpet", 1);
  77. expectedWordCount.put("as", 1);
  78. expectedWordCount.put("java", 1);
  79. expectedWordCount.put("javascript", 1);
  80. actualWordCount = wordCount.phrase("car : carpet as java : javascript!!&@$%^&");
  81. assertEquals(
  82. expectedWordCount, actualWordCount
  83. );
  84. }
  85. @Ignore("Remove to run test")
  86. @Test
  87. public void includeNumbers() {
  88. expectedWordCount.put("testing", 2);
  89. expectedWordCount.put("1", 1);
  90. expectedWordCount.put("2", 1);
  91. actualWordCount = wordCount.phrase("testing, 1, 2 testing");
  92. assertEquals(
  93. expectedWordCount, actualWordCount
  94. );
  95. }
  96. @Ignore("Remove to run test")
  97. @Test
  98. public void normalizeCase() {
  99. expectedWordCount.put("go", 3);
  100. expectedWordCount.put("stop", 2);
  101. actualWordCount = wordCount.phrase("go Go GO Stop stop");
  102. assertEquals(
  103. expectedWordCount, actualWordCount
  104. );
  105. }
  106. @Ignore("Remove to run test")
  107. @Test
  108. public void withApostrophes() {
  109. expectedWordCount.put("first", 1);
  110. expectedWordCount.put("don't", 2);
  111. expectedWordCount.put("laugh", 1);
  112. expectedWordCount.put("then", 1);
  113. expectedWordCount.put("cry", 1);
  114. actualWordCount = wordCount.phrase("First: don't laugh. Then: don't cry.");
  115. assertEquals(
  116. expectedWordCount, actualWordCount
  117. );
  118. }
  119. @Ignore("Remove to run test")
  120. @Test
  121. public void withQuotations() {
  122. expectedWordCount.put("joe", 1);
  123. expectedWordCount.put("can't", 1);
  124. expectedWordCount.put("tell", 1);
  125. expectedWordCount.put("between", 1);
  126. expectedWordCount.put("large", 2);
  127. expectedWordCount.put("and", 1);
  128. actualWordCount = wordCount.phrase("Joe can't tell between 'large' and large.");
  129. assertEquals(
  130. expectedWordCount, actualWordCount
  131. );
  132. }
  133. @Ignore("Remove to run test")
  134. @Test
  135. public void multipleSpacesNotDetectedAsAWord() {
  136. expectedWordCount.put("multiple", 1);
  137. expectedWordCount.put("whitespaces", 1);
  138. actualWordCount = wordCount.phrase(" multiple whitespaces");
  139. assertEquals(
  140. expectedWordCount, actualWordCount
  141. );
  142. }
  143. }