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

RunLengthEncodingTest.java 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import org.junit.Assert;
  2. import org.junit.Before;
  3. import org.junit.Ignore;
  4. import org.junit.Test;
  5. public class RunLengthEncodingTest {
  6. private RunLengthEncoding runLengthEncoding;
  7. @Before
  8. public void setUp() {
  9. runLengthEncoding = new RunLengthEncoding();
  10. }
  11. @Test
  12. public void encodeEmpty() {
  13. Assert.assertEquals("", runLengthEncoding.encode(""));
  14. }
  15. @Ignore("Remove to run test")
  16. @Test
  17. public void encodeWithOnlySingleValues() {
  18. Assert.assertEquals("XYZ", runLengthEncoding.encode("XYZ"));
  19. }
  20. @Ignore("Remove to run test")
  21. @Test
  22. public void encodeWithNoSingleValues() {
  23. Assert.assertEquals(
  24. "2A3B4C",
  25. runLengthEncoding.encode("AABBBCCCC"));
  26. }
  27. @Ignore("Remove to run test")
  28. @Test
  29. public void encodeWithMixedValues() {
  30. Assert.assertEquals(
  31. "12WB12W3B24WB",
  32. runLengthEncoding.encode(
  33. "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"));
  34. }
  35. @Ignore("Remove to run test")
  36. @Test
  37. public void encodeWithWhitespaceValues() {
  38. Assert.assertEquals(
  39. "2 hs2q q2w2 ",
  40. runLengthEncoding.encode(" hsqq qww "));
  41. }
  42. @Ignore("Remove to run test")
  43. @Test
  44. public void encodeWithLowercaseValues() {
  45. Assert.assertEquals(
  46. "2a3b4c",
  47. runLengthEncoding.encode("aabbbcccc"));
  48. }
  49. @Ignore("Remove to run test")
  50. @Test
  51. public void decodeEmpty() {
  52. Assert.assertEquals("", runLengthEncoding.decode(""));
  53. }
  54. @Ignore("Remove to run test")
  55. @Test
  56. public void decodeWithOnlySingleValues() {
  57. Assert.assertEquals(
  58. "XYZ",
  59. runLengthEncoding.decode("XYZ"));
  60. }
  61. @Ignore("Remove to run test")
  62. @Test
  63. public void decodeWithNoSingleValues() {
  64. Assert.assertEquals(
  65. "AABBBCCCC",
  66. runLengthEncoding.decode("2A3B4C"));
  67. }
  68. @Ignore("Remove to run test")
  69. @Test
  70. public void decodeWithMixedValues() {
  71. Assert.assertEquals(
  72. "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB",
  73. runLengthEncoding.decode("12WB12W3B24WB"));
  74. }
  75. @Ignore("Remove to run test")
  76. @Test
  77. public void decodeWithWhitespaceValues() {
  78. Assert.assertEquals(
  79. " hsqq qww ",
  80. runLengthEncoding.decode("2 hs2q q2w2 "));
  81. }
  82. @Ignore("Remove to run test")
  83. @Test
  84. public void decodeWithLowercaseValues() {
  85. Assert.assertEquals(
  86. "aabbbcccc",
  87. runLengthEncoding.decode("2a3b4c"));
  88. }
  89. @Ignore("Remove to run test")
  90. @Test
  91. public void encodeThenDecode() {
  92. String inOut = "zzz ZZ zZ";
  93. String encoded = runLengthEncoding.encode(inOut);
  94. Assert.assertEquals(inOut, runLengthEncoding.decode(encoded));
  95. }
  96. }