InventoryTest.java 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. package com.zipcodewilmington.gildedrose;
  2. import org.junit.Assert;
  3. import org.junit.Before;
  4. import org.junit.Test;
  5. public class InventoryTest {
  6. private String name;
  7. private int sellIn;
  8. private int quality;
  9. private Item[] items;
  10. private Inventory store;
  11. private Item brie;
  12. private Item ticket;
  13. private Item legend;
  14. private Item other;
  15. @Before
  16. public void setUp(){
  17. ticket = new Item("Backstage passes to a TAFKAL80ETC concert", 0,0);
  18. brie = new Item ("Aged Brie", 0,50);
  19. legend = new Item("Sulfuras, Hand of Ragnaros",0,50);
  20. other = new Item("other", 5,5);
  21. items =new Item[]{ brie, ticket, legend, other};
  22. store = new Inventory(items);
  23. }
  24. @Test
  25. public void sellInTest(){
  26. int expected = 5;
  27. int actual = other.getSellIn();
  28. Assert.assertEquals(expected, actual);
  29. }
  30. @Test
  31. public void nameTest (){
  32. store.updateQuality();
  33. String expected = "Aged Brie";
  34. String actual = brie.getName();
  35. Assert.assertEquals(expected,actual);
  36. }
  37. @Test
  38. public void agedBrieQualityTest (){
  39. store.updateQuality();
  40. int expected =50;
  41. int actual = brie.getQuality();
  42. Assert.assertEquals(expected,actual);
  43. }
  44. @Test
  45. public void agedBrieSellInTest (){
  46. store.updateQuality();
  47. int expected = -1;
  48. int actual = brie.getSellIn();
  49. Assert.assertEquals(expected,actual);
  50. }
  51. //expired test that
  52. @Test // when expired quality increases by 2
  53. public void agedBrieSellInExpiredTest (){
  54. brie.setQuality(48);
  55. store.updateQuality();
  56. int expected = 50;
  57. int actual = brie.getQuality();
  58. Assert.assertEquals(expected,actual);
  59. }
  60. @Test
  61. public void setSellInTest (){
  62. brie.setSellIn(10);
  63. int expected = 10;
  64. int actual = brie.getSellIn();
  65. Assert.assertEquals(expected,actual);
  66. }
  67. @Test
  68. public void setQualityTest (){
  69. brie.setQuality(10);
  70. int expected = 10;
  71. int actual = brie.getQuality();
  72. Assert.assertEquals(expected,actual);
  73. }
  74. @Test
  75. public void agedBrieSetSellInUpdateTest (){
  76. brie.setSellIn(10);
  77. store.updateQuality();
  78. int expected = 9;
  79. int actual = brie.getSellIn();
  80. Assert.assertEquals(expected,actual);
  81. }
  82. @Test
  83. public void agedBrieSetSellInQualityTest (){
  84. brie.setSellIn(5);
  85. brie.setQuality(45);
  86. store.updateQuality();
  87. int expected = 46;
  88. int actual = brie.getQuality();
  89. Assert.assertEquals(expected,actual);
  90. }
  91. @Test
  92. public void ticketQualityTest (){
  93. store.updateQuality();
  94. int expected =0;
  95. int actual = ticket.getQuality();
  96. Assert.assertEquals(expected,actual);
  97. }
  98. @Test
  99. public void ticketSellInTest (){
  100. store.updateQuality();
  101. int expected = -1;
  102. int actual = ticket.getSellIn();
  103. Assert.assertEquals(expected,actual);
  104. }
  105. @Test
  106. public void ticketExpiredQualitySellInTest (){
  107. ticket.setQuality(5);
  108. store.updateQuality();
  109. int expected = 0;
  110. int actual = ticket.getQuality();
  111. Assert.assertEquals(expected,actual);
  112. }
  113. @Test
  114. public void ticketSetSellInUpdateTest (){
  115. ticket.setSellIn(10);
  116. store.updateQuality();
  117. int expected = 9;
  118. int actual = ticket.getSellIn();
  119. Assert.assertEquals(expected,actual);
  120. }
  121. @Test
  122. public void ticketSetFarSellInUpdateTest (){
  123. ticket.setSellIn(20);
  124. store.updateQuality();
  125. int expected = 1;
  126. int actual = ticket.getQuality();
  127. Assert.assertEquals(expected,actual);
  128. }
  129. @Test
  130. public void ticketSetSellInQualityTest (){
  131. ticket.setSellIn(5);
  132. ticket.setQuality(35);
  133. store.updateQuality();
  134. int expected = 38;
  135. int actual = ticket.getQuality();
  136. Assert.assertEquals(expected,actual);
  137. }
  138. @Test
  139. public void legendQualityTest (){
  140. store.updateQuality();
  141. int expected = 50;
  142. int actual = legend.getQuality();
  143. Assert.assertEquals(expected,actual);
  144. }
  145. @Test
  146. public void legendSetSellInUpdateTest (){
  147. ticket.setSellIn(35);
  148. store.updateQuality();
  149. int expected = 0;
  150. int actual = legend.getSellIn();
  151. Assert.assertEquals(expected,actual);
  152. }
  153. @Test
  154. public void otherQualityTest (){
  155. store.updateQuality();
  156. int expected =4;
  157. int actual = other.getQuality();
  158. Assert.assertEquals(expected,actual);
  159. }
  160. @Test
  161. public void otherNameTest (){
  162. other.setName("Thing");
  163. String expected ="Thing";
  164. String actual = other.getName();
  165. Assert.assertEquals(expected,actual);
  166. }
  167. @Test
  168. public void otherSetSellInUpdateTest (){
  169. other.setSellIn(1);
  170. store.updateQuality();
  171. int expected = 0;
  172. int actual = other.getSellIn();
  173. Assert.assertEquals(expected,actual);
  174. }
  175. @Test
  176. public void otherSetSellInExpiredUpdateTest (){
  177. other.setSellIn(0);
  178. store.updateQuality();
  179. int expected = -1;
  180. int actual = other.getSellIn();
  181. Assert.assertEquals(expected,actual);
  182. }
  183. @Test
  184. public void otherQualityExpiredUpdateTest (){
  185. other.setSellIn(-1);
  186. store.updateQuality();
  187. int expected = 3;
  188. int actual = other.getQuality();
  189. Assert.assertEquals(expected,actual);
  190. }
  191. }