M06 UF1Pr2. Tests unitaris per practicar la sintaxi de Javascript

De wikijoan
Salta a la navegació Salta a la cerca

Introducció

Ja hem vist la teoria dels Arrays. Ara practicarem Arrays. Per fer-ho, utilitzarem tests unitaris que demostrin el bon funcionament.

Desenvolupament

Test unitari matrius.png

Tasques a realitzar

NOTA: per comparar que dos arrays són iguals, no val fer arr1==arr2. El millor que podem fer és un join i veure que les cadenes resultants són iguals. Per ex:

> var arr1=['aa','bb','cc'];
> var arr2=['aa','bb','cc'];
> arr1==arr2
false
> arr1===arr2
false
> arr1.join('')
'aabbcc'
> arr1.join(',')==arr2.join(',')
true

Això és degut a què els arrays són objectes, i arr1 i arr2 són objectes diferents (encara que contenen els mateixos valors). Per tant, el que hem de fer és comparar els valors.

Realitzaràs els següents 11 tests unitaris, que demostren el bon funcionament dels mètodes dels arrays.

1. length. Demostrar la propietat length dels arrays

2. accedir a un element d'un array

3. concat. concatenar dos arrays

4. join. Donat un array, amb join obtenim una cadena, utilitzant el caràcter * com a separador.

5. push. Afegir elements a un array

6. pop. Treure un element d'un array.

7. reverse. Capgirar els elements d'un array.

8. sort(). Donat un array de números, ordenar-los.

9. definir la funció: generar_multiples(num), on num és un número, i hem de generar els 10 primers múltiples d'aquest número, que els posem en un array. Per exemple:

generar_multiples(5) = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

10. definir la funció: ordenar_dates(arr), que agafi com a paràmetre un array de cadenes (que tenen el format de data), i ordenar-ho per any, mes i dia.

Per exemple:

['23/07/21', '13/08/20', '15/08/20','18/01/18', '30/02/20', '25/04/20']

ha de quedat ordenat com:

['18/01/18', '30/02/20', '25/04/20', '13/08/20', '15/08/20', '23/07/21']

11. Definir amb map la funció arreglar_noms(arr) que : donada una matriu bidimensional amb noms i cognoms, retorni una matriu unidimensional amb el nom i el cognom concatenat.

Per exemple:

[['Ricki','Rodríguez'], ['Maika','Montbrú', ['Berta','Batista'], ['Pablo','Pérez'], ['Dani','Díez']]

retorna:

['Ricki Rodríguez','Maika Montbrú','Berta Batista','Pablo Pérez','Dani Díez']

Entrega

Entregaràs en el Classroom un fitxer de text (.txt) que és el resultat de la sortida per pantalla de tots els tests unitaris realitzats.

$ npm test

En la sortida per pantalla es donarà informació prou detallada, com la que es dóna en l'exemple.

Solució

(TBD)


creat per Joan Quintana Compte, octubre 2021