Advertisement
Guest User

Untitled

a guest
Mar 27th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.15 KB | None | 0 0
  1. import org.junit.Assert;
  2. import org.junit.Test;
  3. import ro.utcn.sd.business.UserBusiness;
  4. import ro.utcn.sd.dao.*;
  5. import ro.utcn.sd.entities.Car;
  6. import ro.utcn.sd.entities.ParkingLot;
  7. import ro.utcn.sd.entities.Request;
  8. import ro.utcn.sd.entities.User;
  9.  
  10. import java.util.*;
  11.  
  12. public class UserBusinessTest {
  13.  
  14. private UserDao mockUserDao = mockUserDao(new ArrayList<>());
  15. private CarDao mockCarDao = mockCarDao(new ArrayList<>());
  16. private RequestDao mockRequestDao = mockRequestDao(new ArrayList<>());
  17. private DaoFactory mockFactory = mockDaoFactory(mockUserDao, mockCarDao, mockRequestDao);
  18. private UserBusiness subject = new UserBusiness(mockFactory);
  19.  
  20.  
  21. @Test
  22. public void testRegisterUser() {
  23. // given
  24.  
  25.  
  26. // when:
  27. subject.register("test@email.com", "password");
  28.  
  29. // then:
  30. Assert.assertEquals("test@email.com", mockUserDao.find(1).getEmail());
  31. Assert.assertEquals("password", mockUserDao.find(1).getPassword());
  32. }
  33.  
  34. @Test
  35. public void testAddCar(){
  36. //given
  37. subject.register("test@email.com", "password");
  38.  
  39. //when:
  40. subject.addCar(mockUserDao.find(1), new Date(), "B314ZDA");
  41.  
  42. //then:
  43. Assert.assertEquals("B314ZDA", mockCarDao.find(1).getVin());
  44. }
  45.  
  46. @Test
  47. public void testRemoveCar(){
  48. //given
  49. subject.register("test@email.com", "password");
  50.  
  51. //when:
  52. subject.addCar(mockUserDao.find(1), new Date(), "B314ZDA");
  53. subject.removeCar(mockUserDao.find(1), mockCarDao.find(1));
  54.  
  55. //then:
  56. Assert.assertNull(mockCarDao.find(1));
  57. }
  58.  
  59. @Test
  60. public void testMakeRequest(){
  61. //given
  62. subject.register("test@email.com", "password");
  63. subject.addCar(mockUserDao.find(1), new Date(), "B314ZDA");
  64. HashSet<ParkingLot> lots = new HashSet<>();
  65. lots.add(new ParkingLot());
  66.  
  67. //when:
  68. subject.makeRequest(mockUserDao.find(1), mockCarDao.find(1), lots);
  69.  
  70. //then:
  71. Assert.assertFalse(mockRequestDao.find(1).isStatus());
  72. }
  73.  
  74. @Test
  75. public void testDeleteRequest(){
  76. //given
  77. subject.register("test@email.com", "password");
  78. subject.addCar(mockUserDao.find(1), new Date(), "B314ZDA");
  79. HashSet<ParkingLot> lots = new HashSet<>();
  80. lots.add(new ParkingLot());
  81. subject.makeRequest(mockUserDao.find(1), mockCarDao.find(1), lots);
  82.  
  83. //when:
  84. subject.deleteRequest(mockUserDao.find(1), mockCarDao.find(1));
  85.  
  86. //then:
  87. Assert.assertNull(mockRequestDao.find(1));
  88. }
  89.  
  90. @Test
  91. public void testShowRequests(){
  92. //given
  93. subject.register("test@email.com", "password");
  94. subject.addCar(mockUserDao.find(1), new Date(), "B232AER");
  95. HashSet<ParkingLot> lots = new HashSet<>();
  96. lots.add(new ParkingLot());
  97. subject.makeRequest(mockUserDao.find(1), mockCarDao.find(1), lots);
  98. subject.makeRequest(mockUserDao.find(1), mockCarDao.find(1), lots);
  99.  
  100. //when:
  101. int nr = subject.showRequests(mockUserDao.find(1)).size();
  102.  
  103. //then:
  104. Assert.assertEquals(2, nr);
  105. }
  106.  
  107. @Test
  108. public void testUpdateRequest(){
  109. //given
  110. subject.register("test@email.com", "password");
  111. subject.addCar(mockUserDao.find(1), new Date(), "B232AER");
  112. HashSet<ParkingLot> lots = new HashSet<>();
  113. lots.add(new ParkingLot());
  114. subject.makeRequest(mockUserDao.find(1), mockCarDao.find(1), lots);
  115.  
  116. Car newC = new Car();
  117. newC.setVin("B222LER");
  118. newC.setItp_date(new Date());
  119. newC.setUser(mockUserDao.find(1));
  120.  
  121. //when:
  122. subject.updateRequest(mockRequestDao.find(1), newC, lots);
  123. int nr = mockRequestDao.findAllRequests(mockUserDao.find(1).getUser_id()).size();
  124.  
  125. //then:
  126. Assert.assertEquals(1, nr);
  127. Assert.assertEquals("B222LER", mockRequestDao.find(1).getCar().getVin());
  128. }
  129.  
  130.  
  131. private DaoFactory mockDaoFactory(UserDao mockUserDao, CarDao mockCarDao, RequestDao mockRequestDao) {
  132. return new DaoFactory() {
  133.  
  134. @Override
  135. public CarDao getCarDao() {
  136. return mockCarDao;
  137. }
  138.  
  139. @Override
  140. public UserDao getUserDao() {
  141. return mockUserDao;
  142. }
  143.  
  144. @Override
  145. public RequestDao getRequestDao() {
  146. return mockRequestDao;
  147. }
  148.  
  149. @Override
  150. public ParkingLotDao getParkingLotDao() {
  151. return null;
  152. }
  153.  
  154. @Override
  155. public ParkingSpotDao getParkingSpotDao() {
  156. return null;
  157. }
  158. };
  159. }
  160.  
  161. private UserDao mockUserDao(ArrayList<User> users){
  162. return new UserDao(){
  163.  
  164. @Override
  165. public User find(long id) {
  166. return users.stream().filter(user -> user.getUser_id() == id).findAny().get();
  167. }
  168.  
  169. @Override
  170. public void delete(User toDelete) {
  171. users.remove(toDelete);
  172. }
  173.  
  174. @Override
  175. public void update(User toUpdate) {
  176.  
  177. }
  178.  
  179. @Override
  180. public void insert(User toCreate) {
  181. toCreate.setUser_id(1);
  182. users.add(toCreate);
  183. }
  184. };
  185. }
  186.  
  187. private CarDao mockCarDao(ArrayList<Car> cars){
  188. return new CarDao(){
  189.  
  190. @Override
  191. public Car find(long id) {
  192. return cars.stream().filter(car -> car.getCar_id() == id).findFirst().orElse(null);
  193. }
  194.  
  195. @Override
  196. public void delete(Car toDelete) {
  197. cars.remove(toDelete);
  198. }
  199.  
  200. @Override
  201. public void update(Car toUpdate) {
  202. }
  203.  
  204. @Override
  205. public void insert(Car toCreate) {
  206. toCreate.setCar_id(1);
  207. cars.add(toCreate);
  208. }
  209. };
  210. }
  211.  
  212. private RequestDao mockRequestDao(ArrayList<Request> requests){
  213. return new RequestDao() {
  214. @Override
  215. public Request find(long id) {
  216. return requests.stream().filter(r -> r.getId() == id).findFirst().orElse(null);
  217. }
  218.  
  219. @Override
  220. public void delete(Request toDelete) {
  221. requests.remove(toDelete);
  222. }
  223.  
  224. @Override
  225. public void update(Request toUpdate) {
  226.  
  227. }
  228.  
  229. @Override
  230. public void insert(Request toCreate) {
  231. toCreate.setId(1);
  232. requests.add(toCreate);
  233. }
  234.  
  235. @Override
  236. public List<Request> findAllRequests(long userId) {
  237. List<Request> result = new ArrayList<>();
  238. for(Request r: requests){
  239. if(r.getCar().getUser().getUser_id() == userId){
  240. result.add(r);
  241. }
  242. }
  243. return result;
  244. }
  245. };
  246. }
  247.  
  248. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement