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

TransposeTest.java 5.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. import org.junit.Ignore;
  2. import org.junit.Test;
  3. import org.junit.Before;
  4. import static org.junit.Assert.assertEquals;
  5. public class TransposeTest {
  6. private Transpose transpose;
  7. @Before
  8. public void setup() {
  9. transpose = new Transpose();
  10. }
  11. @Test
  12. public void emptyString() {
  13. String input = "";
  14. String expected = "";
  15. assertEquals(expected, transpose.transpose(input));
  16. }
  17. @Ignore("Remove to run test")
  18. @Test
  19. public void twoCharsInARow() {
  20. String input = "A1";
  21. String expected = "A" +
  22. "\n1";
  23. assertEquals(expected, transpose.transpose(input));
  24. }
  25. @Ignore("Remove to run test")
  26. @Test
  27. public void twoCharsInAColumn() {
  28. String input = "A\n" +
  29. "1";
  30. String expected = "A1";
  31. assertEquals(expected, transpose.transpose(input));
  32. }
  33. @Ignore("Remove to run test")
  34. @Test
  35. public void simpleMatrix() {
  36. String input = "ABC\n" +
  37. "123";
  38. String expected = "A1\n" +
  39. "B2\n" +
  40. "C3";
  41. assertEquals(expected, transpose.transpose(input));
  42. }
  43. @Ignore("Remove to run test")
  44. @Test
  45. public void singleLine() {
  46. String input = "Single line.";
  47. String expected = "S\n" +
  48. "i\n" +
  49. "n\n" +
  50. "g\n" +
  51. "l\n" +
  52. "e\n" +
  53. " \n" +
  54. "l\n" +
  55. "i\n" +
  56. "n\n" +
  57. "e\n" +
  58. ".";
  59. assertEquals(expected, transpose.transpose(input));
  60. }
  61. @Ignore("Remove to run test")
  62. @Test
  63. public void firstLineLongerThanSecond() {
  64. String input = "The fourth line.\n" +
  65. "The fifth line.";
  66. String expected = "TT\n" +
  67. "hh\n" +
  68. "ee\n" +
  69. " \n" +
  70. "ff\n" +
  71. "oi\n" +
  72. "uf\n" +
  73. "rt\n" +
  74. "th\n" +
  75. "h \n" +
  76. " l\n" +
  77. "li\n" +
  78. "in\n" +
  79. "ne\n" +
  80. "e.\n" +
  81. ".";
  82. assertEquals(expected, transpose.transpose(input));
  83. }
  84. @Ignore("Remove to run test")
  85. @Test
  86. public void secondLineLongerThanFirst() {
  87. String input = "The first line.\n" +
  88. "The second line.";
  89. String expected = "TT\n" +
  90. "hh\n" +
  91. "ee\n" +
  92. " \n" +
  93. "fs\n" +
  94. "ie\n" +
  95. "rc\n" +
  96. "so\n" +
  97. "tn\n" +
  98. " d\n" +
  99. "l \n" +
  100. "il\n" +
  101. "ni\n" +
  102. "en\n" +
  103. ".e\n" +
  104. " .";
  105. assertEquals(expected, transpose.transpose(input));
  106. }
  107. @Ignore("Remove to run test")
  108. @Test
  109. public void mixedLineLength() {
  110. String input = "The longest line.\n" +
  111. "A long line.\n" +
  112. "A longer line.\n" +
  113. "A line.";
  114. String expected = "TAAA\n" +
  115. "h \n" +
  116. "elll\n" +
  117. " ooi\n" +
  118. "lnnn\n" +
  119. "ogge\n" +
  120. "n e.\n" +
  121. "glr\n" +
  122. "ei \n" +
  123. "snl\n" +
  124. "tei\n" +
  125. " .n\n" +
  126. "l e\n" +
  127. "i .\n" +
  128. "n\n" +
  129. "e\n" +
  130. ".";
  131. assertEquals(expected, transpose.transpose(input));
  132. }
  133. @Ignore("Remove to run test")
  134. @Test
  135. public void square() {
  136. String input = "HEART\n" +
  137. "EMBER\n" +
  138. "ABUSE\n" +
  139. "RESIN\n" +
  140. "TREND";
  141. String expected = "HEART\n" +
  142. "EMBER\n" +
  143. "ABUSE\n" +
  144. "RESIN\n" +
  145. "TREND";
  146. assertEquals(expected, transpose.transpose(input));
  147. }
  148. @Ignore("Remove to run test")
  149. @Test
  150. public void rectangle() {
  151. String input = "FRACTURE\n" +
  152. "OUTLINED\n" +
  153. "BLOOMING\n" +
  154. "SEPTETTE";
  155. String expected = "FOBS\n" +
  156. "RULE\n" +
  157. "ATOP\n" +
  158. "CLOT\n" +
  159. "TIME\n" +
  160. "UNIT\n" +
  161. "RENT\n" +
  162. "EDGE";
  163. assertEquals(expected, transpose.transpose(input));
  164. }
  165. @Ignore("Remove to run test")
  166. @Test
  167. public void triangle() {
  168. String input = "T\n" +
  169. "EE\n" +
  170. "AAA\n" +
  171. "SSSS\n" +
  172. "EEEEE\n" +
  173. "RRRRRR";
  174. String expected = "TEASER\n" +
  175. " EASER\n" +
  176. " ASER\n" +
  177. " SER\n" +
  178. " ER\n" +
  179. " R";
  180. assertEquals(expected, transpose.transpose(input));
  181. }
  182. }