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

AllergiesTest.java 5.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. import org.junit.Test;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import static org.junit.Assert.assertEquals;
  5. public class AllergiesTest {
  6. @Test
  7. public void noAllergiesMeansNotAllergicToAnything() {
  8. Allergies allergies = new Allergies(0);
  9. assertEquals(false, allergies.isAllergicTo(Allergen.EGGS));
  10. assertEquals(false, allergies.isAllergicTo(Allergen.PEANUTS));
  11. assertEquals(false, allergies.isAllergicTo(Allergen.STRAWBERRIES));
  12. assertEquals(false, allergies.isAllergicTo(Allergen.CATS));
  13. }
  14. @Test
  15. public void allergicToEggs() {
  16. Allergies allergies = new Allergies(1);
  17. assertEquals(true, allergies.isAllergicTo(Allergen.EGGS));
  18. }
  19. @Test
  20. public void allergicToPeanuts() {
  21. Allergies allergies = new Allergies(2);
  22. assertEquals(true, allergies.isAllergicTo(Allergen.PEANUTS));
  23. }
  24. @Test
  25. public void allergicToShellfish() {
  26. Allergies allergies = new Allergies(4);
  27. assertEquals(true, allergies.isAllergicTo(Allergen.SHELLFISH));
  28. }
  29. @Test
  30. public void allergicToStrawberries() {
  31. Allergies allergies = new Allergies(8);
  32. assertEquals(true, allergies.isAllergicTo(Allergen.STRAWBERRIES));
  33. }
  34. @Test
  35. public void allergicToTomatoes() {
  36. Allergies allergies = new Allergies(16);
  37. assertEquals(true, allergies.isAllergicTo(Allergen.TOMATOES));
  38. }
  39. @Test
  40. public void allergicToChocolate() {
  41. Allergies allergies = new Allergies(32);
  42. assertEquals(true, allergies.isAllergicTo(Allergen.CHOCOLATE));
  43. }
  44. @Test
  45. public void allergicToPollen() {
  46. Allergies allergies = new Allergies(64);
  47. assertEquals(true, allergies.isAllergicTo(Allergen.POLLEN));
  48. }
  49. @Test
  50. public void allergicToCats() {
  51. Allergies allergies = new Allergies(128);
  52. assertEquals(true, allergies.isAllergicTo(Allergen.CATS));
  53. }
  54. @Test
  55. public void isAllergicToEggsInAdditionToOtherStuff() {
  56. Allergies allergies = new Allergies(5);
  57. assertEquals(true, allergies.isAllergicTo(Allergen.EGGS));
  58. }
  59. @Test
  60. public void noAllergies() {
  61. Allergies allergies = new Allergies(0);
  62. assertEquals(0, allergies.getList().size());
  63. }
  64. @Test
  65. public void isAllergicToJustEggs() {
  66. Allergies allergies = new Allergies(1);
  67. List<Allergen> expectedAllergens = Arrays.asList(new Allergen[]{Allergen.EGGS});
  68. assertEquals(expectedAllergens, allergies.getList());
  69. }
  70. @Test
  71. public void isAllergicToJustPeanuts() {
  72. Allergies allergies = new Allergies(2);
  73. List<Allergen> expectedAllergens = Arrays.asList(new Allergen[]{Allergen.PEANUTS});
  74. assertEquals(expectedAllergens, allergies.getList());
  75. }
  76. @Test
  77. public void isAllergicToJustStrawberries() {
  78. Allergies allergies = new Allergies(8);
  79. List<Allergen> expectedAllergens = Arrays.asList(new Allergen[]{Allergen.STRAWBERRIES});
  80. assertEquals(expectedAllergens, allergies.getList());
  81. }
  82. @Test
  83. public void isAllergicToEggsAndPeanuts() {
  84. Allergies allergies = new Allergies(3);
  85. List<Allergen> expectedAllergens = Arrays.asList(new Allergen[]{
  86. Allergen.EGGS,
  87. Allergen.PEANUTS
  88. });
  89. assertEquals(expectedAllergens, allergies.getList());
  90. }
  91. @Test
  92. public void isAllergicToEggsAndShellfish() {
  93. Allergies allergies = new Allergies(5);
  94. List<Allergen> expectedAllergens = Arrays.asList(new Allergen[]{
  95. Allergen.EGGS,
  96. Allergen.SHELLFISH
  97. });
  98. assertEquals(expectedAllergens, allergies.getList());
  99. }
  100. @Test
  101. public void isAllergicToLotsOfStuff() {
  102. Allergies allergies = new Allergies(248);
  103. List<Allergen> expectedAllergens = Arrays.asList(new Allergen[]{
  104. Allergen.STRAWBERRIES,
  105. Allergen.TOMATOES,
  106. Allergen.CHOCOLATE,
  107. Allergen.POLLEN,
  108. Allergen.CATS
  109. });
  110. assertEquals(expectedAllergens, allergies.getList());
  111. }
  112. @Test
  113. public void isAllergicToEverything() {
  114. Allergies allergies = new Allergies(255);
  115. List<Allergen> expectedAllergens = Arrays.asList(new Allergen[]{
  116. Allergen.EGGS,
  117. Allergen.PEANUTS,
  118. Allergen.SHELLFISH,
  119. Allergen.STRAWBERRIES,
  120. Allergen.TOMATOES,
  121. Allergen.CHOCOLATE,
  122. Allergen.POLLEN,
  123. Allergen.CATS
  124. });
  125. assertEquals(expectedAllergens, allergies.getList());
  126. }
  127. @Test
  128. public void ignoreNonAllergenScoreParts() {
  129. Allergies allergies = new Allergies(509);
  130. List<Allergen> expectedAllergens = Arrays.asList(new Allergen[]{
  131. Allergen.EGGS,
  132. Allergen.SHELLFISH,
  133. Allergen.STRAWBERRIES,
  134. Allergen.TOMATOES,
  135. Allergen.CHOCOLATE,
  136. Allergen.POLLEN,
  137. Allergen.CATS
  138. });
  139. assertEquals(expectedAllergens, allergies.getList());
  140. }
  141. }