Guest User

Untitled

a guest
Nov 18th, 2023
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.67 KB | None | 0 0
  1. the test:
  2.  
  3.  
  4. `/*
  5. * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
  6. * Click nbfs://nbhost/SystemFileSystem/Templates/UnitTests/JUnit5TestClass.java to edit this template
  7. */
  8. package eac4.gestors;
  9.  
  10. import static eac4.gestors.GestorCiutat.ARREL;
  11. import eac4.model.Ciutat;
  12. import java.util.List;
  13. import java.util.stream.Collectors;
  14. import javax.xml.xquery.XQConnection;
  15. import javax.xml.xquery.XQDataSource;
  16. import javax.xml.xquery.XQException;
  17. import javax.xml.xquery.XQExpression;
  18. import javax.xml.xquery.XQResultSequence;
  19. import net.xqj.basex.BaseXXQDataSource;
  20. import org.junit.jupiter.api.AfterEach;
  21. import org.junit.jupiter.api.AfterAll;
  22. import org.junit.jupiter.api.BeforeEach;
  23. import org.junit.jupiter.api.BeforeAll;
  24. import org.junit.jupiter.api.Test;
  25. import static org.junit.jupiter.api.Assertions.*;
  26. import org.junit.jupiter.api.MethodOrderer;
  27. import org.junit.jupiter.api.Order;
  28. import org.junit.jupiter.api.TestMethodOrder;
  29. import org.junit.jupiter.params.ParameterizedTest;
  30. import org.junit.jupiter.params.provider.ValueSource;
  31.  
  32. `/**
  33. *
  34. * @author joan
  35. */
  36. @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
  37. public class TestGestors {
  38.  
  39. private static XQDataSource xQDataSource;
  40. private static List<Ciutat> llistaCiutats;
  41.  
  42. private static List<Ciutat> creaLlista() {
  43. return List.of(
  44. new Ciutat("Barcelona", 41.3851, 2.1734, 101.9, 12,
  45. 1600000, "Mare de Déu de la Mercè",
  46. List.of("Sagrada Família", "Parc Güell", "La Rambla",
  47. "Casa Batlló", "Barri Gòtic", "Camp Nou",
  48. "Montjuïc i Palau Nacional", "Museu Picasso",
  49. "Platja de la Barceloneta",
  50. "Font Màgica de Montjuïc")),
  51. new Ciutat("Tarragona", 41.1189, 1.2445, 63.1, 20,
  52. 200000, "Santa Tecla",
  53. List.of("Amfiteatre Romà de Tarragona", "Catedral de Tarragona",
  54. "Muralla de Tarragona", "Circo Romano",
  55. "Port de Tarragona", "Balco del Mediterrani",
  56. "Museu Nacional Arqueològic de Tarragona",
  57. "Platja del Miracle", "Font del Centenari",
  58. "Casa Castellarnau")),
  59. new Ciutat("Lleida", 41.6176, 0.6200, 211.6, 150,
  60. 140000, "Sant Anastasi",
  61. List.of("La Seu Vella", "Castell de Gardeny", "Catedral Nova",
  62. "Rambla Ferran", "Museu d'Art Jaume Morera",
  63. "Parc de l'Agulla", "Teatre de l'Escorxador",
  64. "Seu dels Jocs Florals", "Museu de Lleida Diocesà i Comarcal",
  65. "Camps Elisis")),
  66. new Ciutat("Girona", 41.9793, 2.8195, 38.9, 70,
  67. 100000, "Sant Narcís",
  68. List.of("Catedral de Girona", "Barri Vell",
  69. "Muralla de Girona", "Banys Àrabs", "El Call",
  70. "Museu d'Història dels Jueus",
  71. "Monestir de Sant Pere de Galligants", "Sant Feliu",
  72. "Passeig de la Muralla", "Cases del riu Onyar")),
  73. new Ciutat("Hospitalet de Llobregat", 41.3662, 2.1165, 12, 10,
  74. 260000, "Santa Eulàlia",
  75. List.of("Parc de Can Vidalet",
  76. "Centre Cultural Metropolità Tecla Sala",
  77. "Torre Barrina", "Parc de la Remunta",
  78. "Museu Agbar de les Aigües",
  79. "Monestir de Sant Josep de la Muntanya",
  80. "Parc de la Marquesa", "Mercat de Bellvitge",
  81. "Parc dels Torrents", "Centre d'Arts Santa Eulàlia")),
  82. new Ciutat("Badalona", 41.4469, 2.2450, 21.2, 14,
  83. 220000, "Sant Anastasi",
  84. List.of("Pont del Petroli", "Parc de Can Solei i Ca l'Arnús",
  85. "Platja de Badalona", "Museu de Badalona",
  86. "Anís del Mono", "Centre d'Interpretació de l'Anís",
  87. "Parc de Montigalà", "Carrer del Mar",
  88. "Monestir de Sant Jeroni de la Murtra",
  89. "Parc Fluvial del Besòs")),
  90. new Ciutat("Reus", 41.1499, 1.1052, 52.5, 85,
  91. 107000, "Sant Pere",
  92. List.of("Gaudí Centre", "Casa Navàs", "Institut Pere Mata",
  93. "Ruta del Modernisme de Reus", "Teatre Fortuny",
  94. "Monestir de Sant Pere de Riu", "Plaça del Mercadal",
  95. "Carrer Monterols", "Parc de Sant Jordi",
  96. "Museu Salvador Vilaseca")),
  97. new Ciutat("Terrassa", 41.5632, 2.0083, 70.2, 277,
  98. 220000, "Sant Pere, Sant Cristòfor i Sant Valentí",
  99. List.of("Parc de Vallparadís", "Castell Cartoixa de Vallparadís",
  100. "La Seu d'Ègara", "Masia Freixa",
  101. "Museu de la Ciència i de la Tècnica de Catalunya",
  102. "Santuari de Sant Llorenç del Munt", "Torre del Palau",
  103. "Parc de Sant Jordi", "Parc de Sant Pere",
  104. "Ermita de Sant Esperit")),
  105. new Ciutat("Sabadell", 41.5463, 2.1086, 37.8, 190,
  106. 210000, "Verge de la Salut",
  107. List.of("Parc Catalunya", "Castell de Sant Nicolau",
  108. "La Farinera Teatre",
  109. "Museu de l'Institut Català de Paleontologia Miquel Crusafont",
  110. "Parc del Taulí", "Torre d'en Gorgs",
  111. "Santuari de la Salut", "Mercat Central de Sabadell",
  112. "Parc de Can Gambús", "Espai Cultura Fundació Caixa Sabadell"))
  113. );`
  114. }
  115.  
  116. public TestGestors() {
  117. }
  118.  
  119. @BeforeAll
  120. public static void setUpClass() throws XQException, GestorException {
  121. xQDataSource = new BaseXXQDataSource();
  122. xQDataSource.setProperty("serverName", "localhost");
  123. xQDataSource.setProperty("port", "1984");
  124.  
  125. XQConnection conn = xQDataSource.getConnection("admin", "admin");
  126. GestorCiutat gestorCiutat = new GestorCiutat(conn);
  127. gestorCiutat.eliminarTot();
  128. conn.close();
  129.  
  130. llistaCiutats = creaLlista();
  131. }
  132.  
  133. @AfterAll
  134. public static void tearDownClass() {
  135. }
  136.  
  137. @BeforeEach
  138. public void setUp() {
  139. }
  140.  
  141. @AfterEach
  142. public void tearDown() {
  143. }
  144.  
  145.  
  146. /**
  147. * Test of inserir method, of class GestorCiutat.
  148. */
  149. @Test
  150. @Order(1)
  151. public void testInserir() throws Exception {
  152. System.out.println("inserir");
  153.  
  154. XQConnection conn = xQDataSource.getConnection("admin", "admin");
  155. GestorCiutat instance = new GestorCiutat(conn);
  156.  
  157. for (Ciutat ciutat : llistaCiutats) {
  158. instance.inserir(ciutat);
  159. }
  160.  
  161. for (Ciutat ciutat : llistaCiutats) {
  162. assertThrows(GestorException.class, () -> {
  163. instance.inserir(ciutat);
  164. });
  165. }
  166.  
  167. conn.close();
  168.  
  169. }
  170.  
  171. /**
  172. * Test of obtenirCiutat method, of class GestorCiutat.
  173. */
  174. @Test
  175. @Order(2)
  176. public void testObtenirCiutat() throws Exception {
  177. System.out.println("obtenirCiutat");
  178. int id = 0;
  179. XQConnection conn = xQDataSource.getConnection("admin", "admin");
  180. GestorCiutat instance = new GestorCiutat(conn);
  181.  
  182. for (Ciutat o : llistaCiutats) {
  183. assertEquals(o, instance.obtenirCiutat(o.getNom()));
  184. }
  185.  
  186. conn.close();
  187. }
  188.  
  189. /**
  190. * Test of obtenirCiutatAmbConnector method, of class GestorCiutat.
  191. *
  192. * @param llocInteres
  193. */
  194. @ParameterizedTest
  195. @ValueSource(strings = {"Platja del Miracle", "Monestir", "Seu", "museu"})
  196. @Order(3)
  197. public void testObtenirCiutatAmbLlocInteres(String llocInteres) throws Exception {
  198. System.out.println("obtenirCiutatAmbLlocInteres");
  199.  
  200. XQConnection conn = xQDataSource.getConnection("admin", "admin");
  201. GestorCiutat instance = new GestorCiutat(conn);
  202.  
  203. `List<Ciutat> expResult = llistaCiutats.stream().filter((ciutat) -> {
  204. return ciutat.getLlocsInteres().stream().filter(
  205. (lloc) -> lloc.toLowerCase().contains(llocInteres.toLowerCase())).count() > 0;
  206. })
  207. .collect(Collectors.toList());
  208. `
  209. List<Ciutat> result = instance.obtenirCiutatAmbLlocInteres(llocInteres);
  210.  
  211. assertEquals(expResult, result);
  212.  
  213. conn.close();
  214.  
  215. }
  216.  
  217. /**
  218. * Test of eliminar method, of class GestorCiutat.
  219. */
  220. @Test
  221. @Order(4)
  222. public void testEliminar() throws Exception {
  223. System.out.println("eliminar");
  224.  
  225. XQConnection conn = xQDataSource.getConnection("admin", "admin");
  226. GestorCiutat instance = new GestorCiutat(conn);
  227.  
  228. for (Ciutat ciutat : llistaCiutats) {
  229. instance.eliminar(ciutat.getNom());
  230. assertThrows(GestorException.class,() -> {instance.eliminar(ciutat.getNom());});
  231. }
  232.  
  233. conn.close();
  234. }
  235.  
  236. }
  237.  
Add Comment
Please, Sign In to add comment