Bien, continuamos con pruebas, parametrizar las parametrizar test bueno, tiene cierta similitud con
la anterior, con repítete test, pero en vez de repetir siempre la misma prueba, quizá con un random,
con algo distinto dentro del código.
Acá repetimos la prueba, pero pasando datos de entrada distinto input.
Por lo tanto, tenemos que proveer estos datos.
Estos input, por ejemplo, como un valor que pasamos mediante alguna notación o mediante un método,
mediante algún archivo plano.
En fin, ese es un dato que vamos a proveer para poder realizar nuestra prueba y así repetir esta prueba.
Con cada uno de estos datos iba a tener, por supuesto, un comportamiento distinto para esta prueba.
Lo que vamos a hacer es copiar test débito, cuenta este acá este método.
Entonces lo copiamos, bajamos y lo pegamos acá.
Entonces, en base a este método vamos a proveer, por ejemplo acá en débito, cuando cuando realizamos
por ejemplo una transferencia y nos descuentan ese monto en tres, referencian una cuenta 100.
Entonces acá podremos parametrizar estos 100 y que no solamente sean 100, sino probar que sean 100,
200, 500, 1000.
Se fijan?
Y así en un solo test ejecutar varios escenarios donde cambia este valor.
Bueno, cómo lo podemos hacer?
Primero tenemos que modificar el test, en vez de utilizar test utilizamos parámetro set test.
Acá lo tenemos.
Esto lo quitamos bien, pero esta anotación tiene que ir acompañado con valores que tenemos que proveer.
Entonces sería otra anotación y acá tenemos distintos tipos de fuentes o sources.
Por ejemplo, si colocamos sources, tenemos distintos.
Tenemos archivo plano source.
Acá tenemos CSV Source separado por comas source, empty, shout, enumerado source.
Métodos souffle se fijan valiosos.
Vamos a comenzar con Valiums Source este acá.
Entonces seleccionamos Ballu Source y acá tenemos que proveer los valores que tenemos distintos tipos
control, barra, espacio, auto completo.
Puede ser un arreglo de vulvas de bit, es decir, por cada tipo de dato, ya sean primitivos.
Por ejemplo int lonko, chord se fijan float double chart.
En fin, un arreglo de datos de prueba.
En nuestro caso, el saldo el bit decimal puede recibir entero, así que podría ser un arreglo entero,
pero también del tipo string.
Cualquiera de los dos da lo mismo.
Por ejemplo, strings.
Las llaves perdemos los valores.
Bueno, el primero 100 el que tenemos acá se fijan 100.
Pero como Stink te dije entonces 100, 200, 300, nos vamos a saltar al 500,
700.
Y por último 000.
Bien, tengamos en cuenta que el saldo que tenemos vamos a subir al final.
Creo que por acá cuando inicializamos los datos acá init método test TESTIMO 000 punto 1 2 3 4 5 porciento
1000.
Ese es nuestro valor del saldo.
Entonces vamos a restar los input.
Bajamos al final por acá deján México y tenemos que probar cómo se comporta.
Bueno, también podemos probar con hacer y cuál es.
Pero el problema es que el acept equals, por ejemplo, acá si colocamos no sé 903 cómo lo tenemos?
Solamente es aplicar en el primer caso, pero todo el resto va a fallar, porque si restamos 200 300
jamás va a dar 900.
Es una prueba que podemos hacer.
Se fijan para ver cómo fallan con 200 valores y cómo uno solo acierta, pero también podríamos tener
una prueba un poco mejor en vez de hacer.
Y cuál es?
Bueno, está acá, la voy a quitar, simplemente la quito acá en vez de quarts true.
Y acá una expresión booleana.
Esto lo quito.
Voy a decir que el saldo.
Vamos a comprar.
Punto, comparto con Zero, se acuerdan el bit decimal punto cero?
Cierto?
Si en mayo que será cierto mayor que ceros.
Perfecto.
Entonces vamos a ver con cada uno.
Si se cumple, si sigue siendo saldo, marque cero.
Vamos a ver.
Entonces es la ley de la prueba con diferentes input ver.
Pero bueno, todavía estamos colocando el input el débito acá de forma estática.
La idea que sea un parámetro se fijan acá un valor, por ejemplo monto de vigen, pero este monto lo
tenemos de acá del argumento, el método, es decir, por cada valor del vale outsourcing que es del
tipo string que se va a pasar, se va a inyectar a este método un parámetro.
Entonces tric mismo tipo de dato que tenemos acá string sí, del tipo int enteros.
Acá sería entero.
Pero como de tipo string acá del tipo string monto.
Ah, claro, pero acá es un new decimal porque el débito recibe un bit decimal, entonces sería new
bit decimal y pasamos el monto a ese el bit decimal, nuestro objeto, el tipo de dato y pasamos el
monto que es el input de entrada con el cuerpo.
Vamos a probar y listo.
Se repite varias veces, pero en forma parametrizar con diferentes valores.
Vamos a probar.
Entonces levantamos.
Buscamos por acá tres DeVito, cuenta.
Qué tal la raíz?
Claro, tenemos débito, cuenta.
También se forma novos porque se repite.
Es decir, se parametrizar por ejecución 1, 100, 200, 300 tipifican por cada uno y en todos pasa
incluso 1000.
Claro, porque el saldo va a quedar.
Es decir, hace casi cero va a ser cero punto uno dos tres cuatro cinco.
Porque recuerda que el saldo es mil coma uno dos tres cuatro cinco.
Entonces todo está perfecto.
Ahora, qué pasa si colocamos acá punto uno, dos, tres, cuatro, cinco.
Hay que harían cero.
Estamos restando el monto prácticamente completo.
Yema Dibiase Lánzale exepción porque eso lo estamos manejando en la clase, cuenta se guardan.
Por acá tenemos en débito.
Acá 200 es 0 lanzar acepcion dinero suficiente.
En realidad ese menor sea menor.
Por lo tanto cero debería permitir.
Así que veamos.
Volvemos a nuestra cuenta test y volvemos a ejecutar.
Bien, vamos a ver acá.
Cantadito falló.
No lanza la succión.
De acuerdo.
No la lanza.
Pero eso está bien porque lo vimos recién.
Pero acá falla en el centro.
Claro, porque el salto no es mayor que cero, es igual a cero.
Entonces falla si es igual a cero o si en menor a cero.
Entonces la apuesta perfecta no puedo tener saldo igual a cero, se fijan.
Es bien preciso.
Entonces, en este caso fallaría a otro punto importante que también si veo acá el detalle falla.
En la última se fijan.
Claro, todo está perfecto.
Pero la última prueba con el móvil acá dice el error.
Se fijan con el detalle.
Ahora, qué pasa si quiero modificar la descripción acá?
Siempre que digan 101 102 por cada repetición muestra el valor.
Eso también se puede parametrizar acá.
Por ejemplo, simplemente con el naipe.
Igual un string que llegaba muestra un ejemplo por defecto es el index, que es el número repetición
con el argumento, con el valor del argumento.
Pero también se puede escribir de la siguiente forma Número de la repetición.
Vamos a colocar acá index ejecutando con valor 0.
Al colocar cero me asigna el valor.
Creo que arguments with name también.
Bueno, vamos a ver argumento
width names.
Cerramos con lo que ahora campión para separar.
Y vemos.
Ejecutamos.
Nos vamos acá al método que falla.
Acá vemos el último.
Perfecto.
Te dejan con cualquiera los dos números 6 ejecutando con valor.
Si colocamos cero con las llaves o arguments with name, cualquiera de los dos.
Se fijan que está perfecto.
Podemos modificar acá la descripción ennombre bien.
Otra cosa que Griever, claro.
Acá pusimos strings, pero también pueden ser enteros int.
Y por supuesto, acá serían del tipo entero, entonces quitamos esto, quitamos las comillas.
Bueno, acá punto no cierto.
En realidad, en vez de entero debiese ser dobles Eusia.
Del tipo dopa bien, pero acá en vez de streak también dobro decia origen, se inyectan ahora contrajuego
con decimales, mejor con Streak más preciso.
Pero bien, vamos a levantar.
Vamos a probar.
Acá las una excepción tienen es suficiente, se fijan con doble, con decimales, se comporta distinto,
la precisión no es tan exacto como si fuera del tipo estric en el bit decimal de que hay pérdida, excepto
en los decimales pérdida de precisión al final.
Entonces, claro, lanza la sección de nivel suficiente.
Entonces, por eso cuando trabajaba con decimales era mucho mejor, mucho mejor.
Esto data para testear bien la prueba con Double.
Vamos a quitarle sumar.
Yetaxa.
DeVito cuenta, pasa, todos los métodos dejan.
Mi sitio está perfecto.
Ven con Rosetta porque lo quiero dejar como estric.
Así que.
Control Zeta.
Ahí es mejor cuando son decimales.
Esto sería con Palou Source.
Bueno, en la siguiente clase vamos a ver otro tipo de source.
Por ejemplo, separador coma o archivos separados por comas se fijan diferentes alternativas o datos
que se prueben mediante un método.
Podríamos tener un método que devuelve un arreglo, una lista, un tipo collection.
Y así nos vemos en la siguiente clase.