Guest User

Untitled

a guest
Oct 15th, 2017
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.21 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package projetoesinf;
  7.  
  8. import java.util.ArrayList;
  9. import java.util.HashMap;
  10. import java.util.HashSet;
  11. import java.util.Iterator;
  12. import java.util.List;
  13. import java.util.Map;
  14. import java.util.Set;
  15. import org.junit.Test;
  16. import static org.junit.Assert.*;
  17. import utils.DoublyLinkedList;
  18.  
  19. /**
  20. *
  21. * @author João
  22. */
  23. public class FinancasIT {
  24.  
  25. public FinancasIT() {
  26. }
  27.  
  28. @Test
  29. public void testReadFiles() {
  30. System.out.println("readFiles");
  31. Financas result = new Financas();
  32. result.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  33.  
  34. Financas expResult = new Financas();
  35. String[] lista1 = {"A", "C", "D"};
  36. Reparticao rep1 = new Reparticao("Porto", 1234, "4200", lista1);
  37. expResult.adicionarReparticao(rep1);
  38. String[] lista2 = {"A", "B"};
  39. Reparticao rep2 = new Reparticao("Maia", 1235, "4470", lista2);
  40. expResult.adicionarReparticao(rep2);
  41.  
  42. Cidadao cid1 = new Cidadao("Ana", "ana@gmail.com", 111222333, "4200-072", 1234);
  43. expResult.inserirNovoCidadao(cid1);
  44. Cidadao cid2 = new Cidadao("Berta", "berta@gmail.com", 223344, "4200-071", 1234);
  45. expResult.inserirNovoCidadao(cid2);
  46. Cidadao cid3 = new Cidadao("Manuel", "manuel@gmail.com", 584769, "4715-357", 5762);
  47. expResult.inserirNovoCidadao(cid3);
  48.  
  49. expResult.getMapCSen().get(cid1).add(new Senha("A", 1));
  50. expResult.getMapCSen().get(cid1).add(new Senha("C", 2));
  51. expResult.getMapCSen().get(cid2).add(new Senha("A", 2));
  52. expResult.getMapCSen().get(cid2).add(new Senha("C", 1));
  53. expResult.getMapCSen().get(cid2).add(new Senha("D", 1));
  54. expResult.getMapCSen().get(cid3).add(new Senha("A", 1));
  55. expResult.getMapCSen().get(cid3).add(new Senha("B", 1));
  56.  
  57. assertTrue("Ficheiros foram mal lidos", result.equals(expResult));
  58. }
  59.  
  60. @Test
  61. public void testAdicionarReparticao() {
  62. System.out.println("adicionarReparticao");
  63. String[] lista = {"agua", "luz", "gas"};
  64. Reparticao rep = new Reparticao("Porto", 1234, "4490-410", lista);
  65. Financas instance = new Financas();
  66. boolean expResult = true;
  67. boolean result = instance.adicionarReparticao(rep);
  68. assertEquals(expResult, result);
  69. }
  70.  
  71. @Test
  72. public void testVerificarCidadaos() {
  73. System.out.println("verificarCidadaos");
  74. Financas result = new Financas();
  75. result.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  76. String[] listaServicos = {"A", "B"};
  77. Reparticao rep = new Reparticao("Gaia", 5762, "4715", listaServicos);
  78. result.adicionarReparticao(rep);
  79. result.verificarCidadaos(rep);
  80.  
  81. Financas expResult = new Financas();
  82. expResult.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  83. expResult.adicionarReparticao(rep);
  84. Iterator<Cidadao> itCid = expResult.getMapRepC().get(rep).iterator();
  85. while (itCid.hasNext()) {
  86. Cidadao cid = itCid.next();
  87. String[] temp = cid.getCodigoPostal().split("-");
  88. if (temp[0].equals(rep.getCodigoPostal())) {
  89. itCid.remove();
  90. expResult.getMapRepC().get(rep).add(cid);
  91. }
  92. }
  93.  
  94. assertTrue("Teste falhou", result.equals(expResult));
  95. }
  96.  
  97. @Test
  98. public void testRemoverReparticao() {
  99. System.out.println("removerReparticao");
  100. String[] lista = {"agua", "luz", "gas"};
  101. Reparticao rep = new Reparticao("Porto", 1234, "4490-410", lista);
  102. Financas instance = new Financas();
  103. instance.adicionarReparticao(rep);
  104. boolean result = instance.removerReparticao(rep);
  105. boolean expResult = true;
  106. assertEquals(result, expResult);
  107. }
  108.  
  109. @Test
  110. public void testCidadaosPorReparticao() {
  111. System.out.println("cidadaosPorReparticao");
  112. Financas instance = new Financas();
  113. instance.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  114. Map<Set<String>, Set<Integer>> result = instance.cidadaosPorReparticao();
  115.  
  116. Map<Set<String>, Set<Integer>> expResult = new HashMap<>();
  117. Set<String> setStr1 = new HashSet<>();
  118. setStr1.add("1234");
  119. setStr1.add("Porto");
  120. Set<Integer> setInt1 = new HashSet<>();
  121. setInt1.add(223344);
  122. setInt1.add(111222333);
  123. expResult.put(setStr1, setInt1);
  124. Set<String> setStr2 = new HashSet<>();
  125. setStr2.add("1235");
  126. setStr2.add("Maia");
  127. Set<Integer> setInt2 = new HashSet<>();
  128. setInt2.add(584769);
  129. expResult.put(setStr2, setInt2);
  130. }
  131.  
  132. @Test
  133. public void testInserirNovoCidadao() {
  134. System.out.println("inserirNovoCidadao");
  135. Cidadao cid = new Cidadao("joao", "email@email.com", 123456789, "4490-410", 1234);
  136. Financas instance = new Financas();
  137. instance.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  138. boolean expResult = true;
  139. boolean result = instance.inserirNovoCidadao(cid);
  140. assertEquals(expResult, result);
  141. }
  142.  
  143. @Test
  144. public void testAbandonarFilas() {
  145. System.out.println("abandonarFilas");
  146. Financas instance1 = new Financas();
  147. instance1.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  148. Financas instance2 = new Financas();
  149. instance2.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  150. Cidadao cid = new Cidadao("joao", "email@email.com", 123456789, "4465-017", 1234);
  151. instance1.inserirNovoCidadao(cid);
  152. instance2.inserirNovoCidadao(cid);
  153. Map<Cidadao, Set<Senha>> map = instance1.getMapCSen();
  154. Iterator<Cidadao> itrCid = map.keySet().iterator();
  155. Set<Senha> result = new HashSet<>();
  156. while (itrCid.hasNext()) {
  157. Cidadao outro = itrCid.next();
  158. if (cid.equals(outro)) {
  159. result = map.get(outro);
  160. }
  161. }
  162. Set<Senha> expResult = new HashSet<>();
  163. assertEquals(result, expResult);
  164.  
  165. }
  166.  
  167. @Test
  168. public void testServicosMaiorProcura() {
  169. System.out.println("servicosMaiorProcura");
  170. Financas instance = new Financas();
  171. instance.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  172. List<String> result = instance.servicosMaiorProcura();
  173. List<String> expResult = new ArrayList<>();
  174. expResult.add("A");
  175. assertEquals(expResult, result);
  176. }
  177.  
  178. @Test
  179. public void testUtilizacaoReparticao() {
  180. System.out.println("utilizacao");
  181. Financas instance = new Financas();
  182. instance.readFiles("fx_repartições2", "fx_cidadaos2", "fx_senhas2");
  183. DoublyLinkedList<Reparticao> dll = instance.getReps();
  184. Reparticao rep = dll.first();
  185. ArrayList<String> result = new ArrayList<>(instance.utilizacaoReparticao(rep, "9:50"));
  186. ArrayList<String> expResult = new ArrayList<>();
  187. String linha = "111222333 | 9:0 | A\n";
  188. expResult.add(linha);
  189. linha = "222333444 | 9:0 | C\n";
  190. expResult.add(linha);
  191. linha = "333444555 | 9:10 | A\n";
  192. expResult.add(linha);
  193. linha = "333444555 | 9:20 | C\n";
  194. expResult.add(linha);
  195. linha = "111222333 | 9:30 | C\n";
  196. expResult.add(linha);
  197. linha = "999999999 | 9:40 | C\n";
  198. expResult.add(linha);
  199. assertEquals(expResult.size(),result.size());
  200. for (int i = 0; i < result.size(); i++) {
  201. assertTrue(result.get(i).trim().equals(expResult.get(i).trim()));
  202. }
  203. }
  204.  
  205. @Test
  206. public void testGetReps() {
  207. System.out.println("getReps");
  208. Financas instance = new Financas();
  209. instance.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  210. DoublyLinkedList<Reparticao> result = instance.getReps();
  211. DoublyLinkedList<Reparticao> expResult = new DoublyLinkedList<>();
  212. String[] listaServicos1 = {"A", "C", "D"};
  213. expResult.addLast(new Reparticao("Porto", 1234, "4200", listaServicos1));
  214. String[] listaServicos2 = {"A", "B"};
  215. expResult.addLast(new Reparticao("Maia", 1235, "4470", listaServicos2));
  216. assertEquals(expResult, result);
  217. }
  218.  
  219. @Test
  220. public void testGetMapRepC() {
  221. System.out.println("getMapRepC");
  222. Financas instance = new Financas();
  223. instance.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  224. Map<Reparticao, Set<Cidadao>> result = instance.getMapRepC();
  225. Map<Reparticao, Set<Cidadao>> expResult = new HashMap<>();
  226. String[] listaServicos1 = {"A", "C", "D"};
  227. Reparticao rep1 = new Reparticao("Porto", 1234, "4200", listaServicos1);
  228. String[] listaServicos2 = {"A", "B"};
  229. Reparticao rep2 = new Reparticao("Maia", 1235, "4470", listaServicos2);
  230. Cidadao cid1 = new Cidadao("Ana", "ana@gmail.com", 111222333, "4200-072", 1234);
  231. Cidadao cid2 = new Cidadao("Berta", "berta@gmail.com", 223344, "4200-071", 1234);
  232. Cidadao cid3 = new Cidadao("Manuel", "manuel@gmail.com", 584769, "4715-357", 5762);
  233. Set<Cidadao> set1 = new HashSet<>();
  234. Set<Cidadao> set2 = new HashSet<>();
  235. set1.add(cid1);
  236. set1.add(cid2);
  237. set2.add(cid3);
  238. expResult.put(rep1, set1);
  239. expResult.put(rep2, set2);
  240. assertEquals(expResult, result);
  241. }
  242.  
  243. @Test
  244. public void testGetMapCSen() {
  245. System.out.println("getMapCSen");
  246. Financas instance = new Financas();
  247. instance.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  248. Map<Cidadao, Set<Senha>> result = instance.getMapCSen();
  249. Map<Cidadao, Set<Senha>> expResult = new HashMap<>();
  250. Cidadao cid1 = new Cidadao("Ana", "ana@gmail.com", 111222333, "4200-072", 1234);
  251. Cidadao cid2 = new Cidadao("Berta", "berta@gmail.com", 223344, "4200-071", 1234);
  252. Cidadao cid3 = new Cidadao("Manuel", "manuel@gmail.com", 584769, "4715-357", 5762);
  253.  
  254. Set<Senha> set1 = new HashSet<>();
  255. Set<Senha> set2 = new HashSet<>();
  256. Set<Senha> set3 = new HashSet<>();
  257. set1.add(new Senha("A", 1));
  258. set1.add(new Senha("C", 2));
  259. set2.add(new Senha("A", 2));
  260. set2.add(new Senha("C", 1));
  261. set2.add(new Senha("D", 1));
  262. set3.add(new Senha("A", 1));
  263. set3.add(new Senha("B", 1));
  264. expResult.put(cid1, set1);
  265. expResult.put(cid2, set2);
  266. expResult.put(cid3, set3);
  267. assertEquals(expResult, result);
  268. }
  269.  
  270. @Test
  271. public void testEquals() {
  272. System.out.println("equals");
  273. Financas obj = new Financas();
  274. obj.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  275. Financas instance = new Financas();
  276. instance.readFiles("fx_repartições", "fx_cidadaos", "fx_senhas");
  277. boolean expResult = true;
  278. boolean result = instance.equals(obj);
  279. assertEquals(expResult, result);
  280. }
  281. }
Add Comment
Please, Sign In to add comment