Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.45 KB | None | 0 0
  1.  
  2. import java.math.BigDecimal;
  3. import java.util.ArrayList;
  4. import java.util.Calendar;
  5. import java.util.HashSet;
  6. import java.util.List;
  7. import java.util.Set;
  8. import operations.ArticleOperations;
  9. import operations.BuyerOperations;
  10. import operations.CityOperations;
  11. import operations.GeneralOperations;
  12. import operations.OrderOperations;
  13. import operations.ShopOperations;
  14. import operations.TransactionOperations;
  15. import student.pa160366_ArticleOperationsImpl;
  16. import student.pa160366_BuyerOperationsImpl;
  17. import student.pa160366_CityOperationsImpl;
  18. import student.pa160366_GeneralOperationsImpl;
  19. import student.pa160366_OrderOperationsImpl;
  20. import student.pa160366_ShopOperationsImpl;
  21. import student.pa160366_TransactionOperationsImpl;
  22.  
  23. /*
  24. * To change this license header, choose License Headers in Project Properties.
  25. * To change this template file, choose Tools | Templates
  26. * and open the template in the editor.
  27. */
  28. /**
  29. *
  30. * @author Aleksandar
  31. */
  32. public class MojMain {
  33.  
  34. public static void main(String[] args) {
  35. ArticleOperations articleOperations = new pa160366_ArticleOperationsImpl(); // Change this for your implementation (points will be negative if interfaces are not implemented).
  36. BuyerOperations buyerOperations = new pa160366_BuyerOperationsImpl();
  37. CityOperations cityOperations = new pa160366_CityOperationsImpl();
  38. GeneralOperations generalOperations = new pa160366_GeneralOperationsImpl();
  39. OrderOperations orderOperations = new pa160366_OrderOperationsImpl();
  40. ShopOperations shopOperations = new pa160366_ShopOperationsImpl();
  41. TransactionOperations transactionOperations = new pa160366_TransactionOperationsImpl();
  42. //
  43. // Calendar c = Calendar.getInstance();
  44. // c.clear();
  45. // c.set(2010, Calendar.JANUARY, 01);
  46. //
  47. //
  48. // Calendar c2 = Calendar.getInstance();
  49. // c2.clear();
  50. // c2.set(2010, Calendar.JANUARY, 01);
  51. //
  52. // if(c.equals(c2)) System.out.println("jednako");
  53. // else System.out.println("nije jednako");
  54. // int id = articleOperations.createArticle(1, "artikal", 100); System.out.println("VRATILO " + id);
  55. // int idbuyer = buyerOperations.createBuyer("Petar", 1); System.out.println("Kreiran kupac sa id = " + idbuyer);
  56. // BigDecimal kredit = buyerOperations.getCredit(1); System.out.println("Kredit kupca sa id = 1 je " + kredit.toString());
  57. // buyerOperations.increaseCredit(1, new BigDecimal(100));
  58. // kredit = buyerOperations.getCredit(1); System.out.println("Kredit kupca sa id = 1 je " + kredit.toString());
  59. // int grad = buyerOperations.getCity(1); System.out.println("Grad kupca sa id = 1 je " + grad);
  60. // int order = buyerOperations.createOrder(1); System.out.println("Kreirana porudzbina sa id = " + order);
  61. // List<Integer> orders = buyerOperations.getOrders(5);
  62. // for (Integer order : orders) {
  63. // System.out.println("Porudzbina broj " + order);
  64. // }
  65. // List<Integer> cities = cityOperations.getCities();
  66. // for (Integer city : cities) {
  67. // System.out.println("Grad " + city);
  68. // }
  69. // generalOperations.eraseAll();
  70. // List<Integer> cities = cityOperations.getCities();
  71. // for (Integer city : cities) {
  72. // System.out.println("Grad " + city);
  73. // }
  74. // int id = shopOperations.getCity(1); System.out.println("MojMain.main() " + id);
  75. // int id1 = cityOperations.createCity("Arilje");
  76. // int id2 = cityOperations.createCity("Uzice");
  77. // cityOperations.connectCities(id1, id2, 4);
  78. // List<Integer> connectedCities = cityOperations.getConnectedCities(id2);
  79. // for (Integer connectedCity : connectedCities) {
  80. // System.out.println(connectedCity);
  81. // }
  82. // int cityVranje = cityOperations.createCity("Vranje");
  83. // int cityLeskovac = cityOperations.createCity("Leskovac");
  84. // int cityNis = cityOperations.createCity("Nis");
  85. //
  86. //
  87. // cityOperations.connectCities(cityNis, cityVranje, 50);
  88. // cityOperations.connectCities(cityVranje, cityLeskovac, 70);
  89.  
  90. // List<Integer> connectedCities = cityOperations.getConnectedCities(cityVranje);
  91. // System.out.println(connectedCities.size());
  92. // if(connectedCities.contains(Integer.valueOf(cityLeskovac)) && (connectedCities.contains(Integer.valueOf(cityNis)))){
  93. // System.out.println("MojMain.main()");
  94. // };
  95. // System.out.println(orderOperations.getBuyer(1));
  96.  
  97. // int id1 = cityOperations.createCity("Arilje");
  98. // int id2 = cityOperations.createCity("Uzice");
  99. // System.out.println(cityOperations.connectCities(id1, id2, 4));
  100. // System.out.println(cityOperations.connectCities(id2, id1, 5));
  101. // Set<Integer> c = new HashSet<Integer>();
  102. // c.add(new Integer(4));
  103. // if(c.contains(new Integer(4)))
  104. // System.out.println("MojMain.main()");
  105.  
  106.  
  107. Calendar initialTime = Calendar.getInstance();
  108. initialTime.clear();
  109. initialTime.set(2018, Calendar.JANUARY, 1);
  110. generalOperations.setInitialTime(initialTime);
  111. Calendar receivedTime = Calendar.getInstance();
  112. receivedTime.clear();
  113. receivedTime.set(2018, Calendar.JANUARY, 22);
  114.  
  115. //make network
  116. int cityB = cityOperations.createCity("B");
  117. int cityC1 = cityOperations.createCity("C1");
  118. int cityA = cityOperations.createCity("A");
  119. int cityC2 = cityOperations.createCity("C2");
  120. int cityC3 = cityOperations.createCity("C3");
  121. int cityC4 = cityOperations.createCity("C4");
  122. int cityC5 = cityOperations.createCity("C5");
  123.  
  124. cityOperations.connectCities(cityB, cityC1, 8);
  125. cityOperations.connectCities(cityC1, cityA, 10);
  126. cityOperations.connectCities(cityA, cityC2, 3);
  127. cityOperations.connectCities(cityC2, cityC3, 2);
  128. cityOperations.connectCities(cityC3, cityC4, 1);
  129. cityOperations.connectCities(cityC4, cityA, 3);
  130. cityOperations.connectCities(cityA, cityC5, 15);
  131. cityOperations.connectCities(cityC5, cityB, 2);
  132.  
  133. //make shops, buyer and articles
  134. int shopA = shopOperations.createShop("shopA", "A");
  135. int shopC2 = shopOperations.createShop("shopC2", "C2");
  136. int shopC3 = shopOperations.createShop("shopC3", "C3");
  137.  
  138. shopOperations.setDiscount(shopA, 20);
  139. shopOperations.setDiscount(shopC2, 50);
  140.  
  141. int laptop = articleOperations.createArticle(shopA, "laptop", 1000);
  142. int monitor = articleOperations.createArticle(shopC2, "monitor", 200);
  143. int stolica = articleOperations.createArticle(shopC3, "stolica", 100);
  144. int sto = articleOperations.createArticle(shopC3, "sto", 200);
  145.  
  146. shopOperations.increaseArticleCount(laptop, 10);
  147. shopOperations.increaseArticleCount(monitor, 10);
  148. shopOperations.increaseArticleCount(stolica, 10);
  149. shopOperations.increaseArticleCount(sto, 10);
  150.  
  151. int buyer = buyerOperations.createBuyer("kupac", cityB);
  152. buyerOperations.increaseCredit(buyer, new BigDecimal("20000"));
  153. int order = buyerOperations.createOrder(buyer);
  154.  
  155. orderOperations.addArticle(order, laptop, 5);
  156. orderOperations.addArticle(order, monitor, 4);
  157. orderOperations.addArticle(order, stolica, 10);
  158. orderOperations.addArticle(order, sto, 4);
  159.  
  160. if(orderOperations.getSentTime(order) == null)
  161. System.out.println("Sent time test OK");
  162.  
  163. if("created".equals(orderOperations.getState(order)) == true)
  164. System.out.println("Created state test OK");
  165. orderOperations.completeOrder(order);
  166. if("sent".equals(orderOperations.getState(order)) == true);
  167. System.out.println("Sent state test OK");
  168.  
  169. int buyerTransactionId = transactionOperations.getTransationsForBuyer(buyer).get(0);
  170. if(initialTime.equals(transactionOperations.getTimeOfExecution(buyerTransactionId)))
  171. System.out.println("Execution time test OK");
  172.  
  173. //if(transactionOperations.getTransationsForShop(shopA) == null) on ovako ispituje
  174. if(transactionOperations.getTransationsForShop(shopA).size() == 0)
  175. System.out.println("Transactions for shops null test OK");
  176.  
  177. //calculate ammounts - begin
  178. BigDecimal shopAAmount = new BigDecimal("5").multiply(new BigDecimal("1000")).setScale(3);
  179. BigDecimal shopAAmountWithDiscount = new BigDecimal("0.8").multiply(shopAAmount).setScale(3);
  180. BigDecimal shopC2Amount = new BigDecimal("4").multiply(new BigDecimal("200")).setScale(3);
  181. BigDecimal shopC2AmountWithDiscount = new BigDecimal("0.5").multiply(shopC2Amount).setScale(3);
  182. BigDecimal shopC3Amount = (new BigDecimal("10").multiply(new BigDecimal("100")))
  183. .add(new BigDecimal("4").multiply(new BigDecimal("200"))).setScale(3);
  184. BigDecimal shopC3AmountWithDiscount = shopC3Amount;
  185.  
  186. BigDecimal amountWithoutDiscounts = shopAAmount.add(shopC2Amount).add(shopC3Amount).setScale(3);
  187. BigDecimal amountWithDiscounts = shopAAmountWithDiscount.add(shopC2AmountWithDiscount).add(shopC3AmountWithDiscount).setScale(3);
  188.  
  189. BigDecimal systemProfit = amountWithDiscounts.multiply(new BigDecimal("0.05")).setScale(3);
  190. BigDecimal shopAAmountReal = shopAAmountWithDiscount.multiply(new BigDecimal("0.95")).setScale(3);
  191. BigDecimal shopC2AmountReal = shopC2AmountWithDiscount.multiply(new BigDecimal("0.95")).setScale(3);
  192. BigDecimal shopC3AmountReal = shopC3AmountWithDiscount.multiply(new BigDecimal("0.95")).setScale(3);
  193. //calculate ammounts - end
  194.  
  195. if(amountWithDiscounts.equals(orderOperations.getFinalPrice(order)))
  196. System.out.println("Final price test OK");
  197. if(amountWithoutDiscounts.subtract(amountWithDiscounts).equals(orderOperations.getDiscountSum(order)))
  198. System.out.println("Discount sum test OK");
  199.  
  200. if(amountWithDiscounts.equals(transactionOperations.getBuyerTransactionsAmmount(buyer)))
  201. System.out.println("Amount with discounts equals buyers transactions test OK");
  202.  
  203. if(transactionOperations.getShopTransactionsAmmount(shopA).equals(new BigDecimal("0").setScale(3)))
  204. System.out.println("Shop A test OK");
  205. if(transactionOperations.getShopTransactionsAmmount(shopC2).equals(new BigDecimal("0").setScale(3)))
  206. System.out.println("Shop C2 test OK");
  207. if(transactionOperations.getShopTransactionsAmmount(shopC3).equals(new BigDecimal("0").setScale(3)))
  208. System.out.println("Shop C3 test OK");
  209. if(new BigDecimal("0").setScale(3).equals(transactionOperations.getSystemProfit()))
  210. System.out.println("System profit test OK");
  211.  
  212. generalOperations.time(2);
  213. if(initialTime.equals(orderOperations.getSentTime(order)))
  214. System.out.println("Sent time test OK");
  215. if(orderOperations.getRecievedTime(order) == null)
  216. System.out.println("Received time null test OK");
  217.  
  218. if(orderOperations.getLocation(order) == cityA)
  219. System.out.println("After 2 days step test OK");
  220.  
  221. generalOperations.time(9);
  222. if(orderOperations.getLocation(order) == cityA)
  223. System.out.println("After 11 days test OK");;
  224.  
  225. generalOperations.time(8);
  226. if(orderOperations.getLocation(order) == cityC5)
  227. System.out.println("After 19 days test OK");
  228.  
  229. generalOperations.time(5);
  230. if(orderOperations.getLocation(order) == cityB)
  231. System.out.println("After 24 days test OK");
  232. if(receivedTime.equals(orderOperations.getRecievedTime(order)))
  233. System.out.println("Received time test OK");
  234.  
  235. // Assert.assertEquals(shopAAmountReal, transactionOperations.getShopTransactionsAmmount(shopA));
  236. // Assert.assertEquals(shopC2AmountReal, transactionOperations.getShopTransactionsAmmount(shopC2));
  237. // Assert.assertEquals(shopC3AmountReal, transactionOperations.getShopTransactionsAmmount(shopC3));
  238. // Assert.assertEquals(systemProfit, transactionOperations.getSystemProfit());
  239. //
  240. // int shopATransactionId = transactionOperations.getTransactionForShopAndOrder(order, shopA);
  241. // Assert.assertNotEquals(-1, shopATransactionId);
  242. // Assert.assertEquals(receivedTime, transactionOperations.getTimeOfExecution(shopATransactionId));
  243. }
  244. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement