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

RelationshipComputerTest.java 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. import org.junit.Ignore;
  2. import org.junit.Test;
  3. import java.util.List;
  4. import static java.util.Arrays.asList;
  5. import static java.util.Collections.emptyList;
  6. import static org.junit.Assert.assertEquals;
  7. public class RelationshipComputerTest {
  8. @Test
  9. public void testThatTwoEmptyListsAreConsideredEqual() {
  10. Relationship computedRelationship = new RelationshipComputer<>().computeRelationship(
  11. emptyList(),
  12. emptyList());
  13. assertEquals(Relationship.EQUAL, computedRelationship);
  14. }
  15. @Ignore("Remove to run test")
  16. @Test
  17. public void testEmptyListIsSublistOfNonEmptyList() {
  18. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  19. emptyList(),
  20. asList(1, 2, 3));
  21. assertEquals(Relationship.SUBLIST, relationship);
  22. }
  23. @Ignore("Remove to run test")
  24. @Test
  25. public void testNonEmptyListIsSuperlistOfEmptyList() {
  26. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  27. asList('1', '2', '3'),
  28. emptyList());
  29. assertEquals(Relationship.SUPERLIST, relationship);
  30. }
  31. @Ignore("Remove to run test")
  32. @Test
  33. public void testListIsEqualToItself() {
  34. List<String> anyList = asList("1", "2", "3");
  35. Relationship relationship = new RelationshipComputer<String>().computeRelationship(
  36. anyList,
  37. anyList);
  38. assertEquals(Relationship.EQUAL, relationship);
  39. }
  40. @Ignore("Remove to run test")
  41. @Test
  42. public void testDifferentListsOfTheSameLengthAreUnequal() {
  43. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  44. asList(1, 2, 3),
  45. asList(2, 3, 4));
  46. assertEquals(Relationship.UNEQUAL, relationship);
  47. }
  48. @Ignore("Remove to run test")
  49. @Test
  50. public void testSublistCheckDoesNotAbortAfterFalseStart() {
  51. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  52. asList('1', '2', '5'),
  53. asList('0', '1', '2', '3', '1', '2', '5', '6'));
  54. assertEquals(Relationship.SUBLIST, relationship);
  55. }
  56. @Ignore("Remove to run test")
  57. @Test
  58. public void testSublistCheckHandlesExtraneousRepeatsOfFirstEntry() {
  59. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  60. asList("1", "1", "2"),
  61. asList("0", "1", "1", "1", "2", "1", "2"));
  62. assertEquals(Relationship.SUBLIST, relationship);
  63. }
  64. @Ignore("Remove to run test")
  65. @Test
  66. public void testSublistAtStart() {
  67. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  68. asList(0, 1, 2),
  69. asList(0, 1, 2, 3, 4, 5));
  70. assertEquals(Relationship.SUBLIST, relationship);
  71. }
  72. @Ignore("Remove to run test")
  73. @Test
  74. public void testSublistInMiddle() {
  75. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  76. asList('2', '3', '4'),
  77. asList('0', '1', '2', '3', '4', '5'));
  78. assertEquals(Relationship.SUBLIST, relationship);
  79. }
  80. @Ignore("Remove to run test")
  81. @Test
  82. public void testSublistAtEnd() {
  83. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  84. asList("3", "4", "5"),
  85. asList("0", "1", "2", "3", "4", "5"));
  86. assertEquals(Relationship.SUBLIST, relationship);
  87. }
  88. @Ignore("Remove to run test")
  89. @Test
  90. public void testAtStartOfSuperlist() {
  91. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  92. asList(0, 1, 2, 3, 4, 5),
  93. asList(0, 1, 2));
  94. assertEquals(Relationship.SUPERLIST, relationship);
  95. }
  96. @Ignore("Remove to run test")
  97. @Test
  98. public void testInMiddleOfSuperlist() {
  99. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  100. asList('0', '1', '2', '3', '4', '5'),
  101. asList('2', '3'));
  102. assertEquals(Relationship.SUPERLIST, relationship);
  103. }
  104. @Ignore("Remove to run test")
  105. @Test
  106. public void testAtEndOfSuperlist() {
  107. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  108. asList("0", "1", "2", "3", "4", "5"),
  109. asList("3", "4", "5"));
  110. assertEquals(Relationship.SUPERLIST, relationship);
  111. }
  112. @Ignore("Remove to run test")
  113. @Test
  114. public void testFirstListMissingElementFromSecondList() {
  115. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  116. asList(1, 3),
  117. asList(1, 2, 3));
  118. assertEquals(Relationship.UNEQUAL, relationship);
  119. }
  120. @Ignore("Remove to run test")
  121. @Test
  122. public void testSecondListMissingElementFromFirstList() {
  123. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  124. asList('1', '2', '3'),
  125. asList('1', '3'));
  126. assertEquals(Relationship.UNEQUAL, relationship);
  127. }
  128. @Ignore("Remove to run test")
  129. @Test
  130. public void testThatListOrderingIsAccountedFor() {
  131. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  132. asList("1", "2", "3"),
  133. asList("3", "2", "1"));
  134. assertEquals(Relationship.UNEQUAL, relationship);
  135. }
  136. @Ignore("Remove to run test")
  137. @Test
  138. public void testThatListsWithSameDigitsButDifferentNumbersAreUnequal() {
  139. Relationship relationship = new RelationshipComputer<>().computeRelationship(
  140. asList(1, 0, 1),
  141. asList(10, 1));
  142. assertEquals(Relationship.UNEQUAL, relationship);
  143. }
  144. }