1
00:00:00,180 --> 00:00:01,380
Bien, continuamos con la clase Test.

2
00:00:01,440 --> 00:00:04,050
Vamos a crear primero una instancia del repository.

3
00:00:04,230 --> 00:00:07,320
Luego el examen servis y lo pasamos por el constructor.

4
00:00:07,440 --> 00:00:18,150
El tipo del repository es más genérico de la interfaz examen repositorio repositorio igual new y crea

5
00:00:18,160 --> 00:00:21,580
una instancia, pero la instancia implemente esta.

6
00:00:21,680 --> 00:00:23,130
Acá está el repositorio.

7
00:00:23,910 --> 00:00:24,480
Perfecto.

8
00:00:24,630 --> 00:00:26,130
Ahí tenemos el objeto.

9
00:00:26,280 --> 00:00:28,110
Luego vamos a tener examen servis.

10
00:00:28,230 --> 00:00:30,180
Lo mismo, pero la interfaz.

11
00:00:32,910 --> 00:00:40,520
Se llama estar Dinama Servis, igual ni un examen servis implementas y le pasamos por constructor el

12
00:00:40,520 --> 00:00:43,610
repositorio repository perfecto.

13
00:00:44,540 --> 00:00:47,000
Ahí tenemos listo nuestro contexto.

14
00:00:47,090 --> 00:00:48,170
Qué vamos a probar entonces?

15
00:00:48,170 --> 00:00:51,260
Ahora invocamos el método, recuerden que devuelve un examen.

16
00:00:51,380 --> 00:00:55,550
El método cervesa tenga que importar.

17
00:00:55,550 --> 00:01:01,200
Acá con al enter importamos la clase servis.

18
00:01:01,860 --> 00:01:04,280
Punto fin, examen por nombre.

19
00:01:04,430 --> 00:01:07,670
Le pasamos un nombre, por ejemplo, no sé matemáticas.

20
00:01:09,950 --> 00:01:10,520
Se acuerdan?

21
00:01:10,640 --> 00:01:12,320
Mismo nombre que existe.

22
00:01:12,500 --> 00:01:13,970
Revisamos por acá.

23
00:01:14,150 --> 00:01:17,870
Examen Repository implemente de hecho con control TAF.

24
00:01:18,080 --> 00:01:20,030
Acá lo buscamos, lo tenemos acá.

25
00:01:20,180 --> 00:01:23,690
Examen Repository, implemento matemáticas.

26
00:01:24,020 --> 00:01:26,040
Incluso lo pudieron poner incluso con acento acá.

27
00:01:26,570 --> 00:01:27,470
Matemáticas.

28
00:01:28,420 --> 00:01:30,390
Y acá también en la clase texto.

29
00:01:31,990 --> 00:01:34,090
Matemáticas que sea idéntico.

30
00:01:34,990 --> 00:01:40,130
Entonces bueno, vamos a probar con Acechas, Sert, not null.

31
00:01:40,270 --> 00:01:45,790
Vamos a probar que existe el objeto examen, que al menos lo he encontrado.

32
00:01:46,960 --> 00:01:48,210
Luego a CERT.

33
00:01:48,460 --> 00:01:50,350
Y cuál es el valor esperado?

34
00:01:50,470 --> 00:01:52,230
Vamos a aprobar matemática.

35
00:01:52,240 --> 00:01:55,990
Tenía Leydi cinco entonces cinco coma examen.

36
00:01:57,040 --> 00:01:57,900
Punto.

37
00:01:58,750 --> 00:02:00,570
Bien se.

38
00:02:01,180 --> 00:02:03,730
Pero este devuelve un tipo lonco cierto.

39
00:02:03,850 --> 00:02:09,150
Entonces incluso podemos colocar acá 5L y lo comparamos con el kit Heidy que también es del tipo lonco.

40
00:02:09,280 --> 00:02:13,710
Se fijan del tipo blanco perfecta a hacer equals.

41
00:02:14,110 --> 00:02:14,830
Pero lo esperado.

42
00:02:14,890 --> 00:02:15,670
Matemáticas

43
00:02:19,360 --> 00:02:20,040
ya real.

44
00:02:20,500 --> 00:02:21,370
Punto.

45
00:02:21,550 --> 00:02:24,050
Qué nombre se fijan hasta momento solamente.

46
00:02:24,070 --> 00:02:27,190
Tan pronto como Johnny ni siquiera entró en nada.

47
00:02:27,190 --> 00:02:27,670
Moquitos.

48
00:02:27,790 --> 00:02:28,870
Y eso que quiero ver por ahora.

49
00:02:28,930 --> 00:02:31,720
Después vamos a entrar un poquito y vamos a ver la diferencia.

50
00:02:31,870 --> 00:02:35,950
Recuerden que implementamos el repository con datos de ejemplo de forma manual.

51
00:02:36,100 --> 00:02:39,160
Creamos una simulación de lo que podría ser un repositorio.

52
00:02:39,520 --> 00:02:42,070
Entonces vamos a levantar control cheff F10.

53
00:02:48,470 --> 00:02:49,220
Y pasa la prueba.

54
00:02:49,500 --> 00:02:54,950
Se encuentra el objeto matemática en nombre Eladia 5, se que está todo funcionando bien.

55
00:02:55,070 --> 00:02:58,760
Ahora, qué pasa si quiero probar cuando devuelve una lista vacía?

56
00:02:58,910 --> 00:03:00,680
Dice que es repository.

57
00:03:00,800 --> 00:03:05,240
Esta me repositor implemente en vez de devolver esto, devuelve una lista vacía.

58
00:03:05,360 --> 00:03:06,590
Cuál sería el problema que tenemos?

59
00:03:06,710 --> 00:03:12,050
Y acá se complica un poco el tema para realizar nuestro preguntaria acá tenemos que empezar a modificar

60
00:03:12,050 --> 00:03:12,890
nuestra implementación.

61
00:03:12,890 --> 00:03:13,340
Se fijan?

62
00:03:13,460 --> 00:03:19,250
En vez de devolver esto tendríamos que devolver un array vacío y tenemos que empezar a utilizar.

63
00:03:19,340 --> 00:03:21,080
If condición es pasar parámetro.

64
00:03:21,080 --> 00:03:28,130
En el método se fijan a medida que queramos agregar un nuevo contexto, prueba con nuevos datos de entrada

65
00:03:28,130 --> 00:03:29,030
y salida.

66
00:03:29,240 --> 00:03:31,880
Esto se vuelve muy complejo de manejar y de probar.

67
00:03:32,060 --> 00:03:32,810
Por ejemplo.

68
00:03:32,900 --> 00:03:34,070
En vez de devolver esto.

69
00:03:34,490 --> 00:03:34,710
Esto.

70
00:03:34,730 --> 00:03:35,420
Lo de comentar.

71
00:03:35,630 --> 00:03:36,350
Por ejemplo.

72
00:03:38,390 --> 00:03:40,730
Y acá vamos a colocar en vez de raíz.

73
00:03:40,880 --> 00:03:48,920
Bueno, en realidad voy a comentar esto de acá, acá y acá sería Collections con lechones.

74
00:03:49,130 --> 00:03:50,370
Punto Empty.

75
00:03:50,700 --> 00:03:55,040
Y acá tenemos el método Empty List de Vigen.

76
00:03:55,100 --> 00:03:57,320
Entonces modificamos esa clasa y no la idea.

77
00:03:57,710 --> 00:04:03,680
No sería la idea devolver o tener que estar modificando esto de acá para nuestra planetaria.

78
00:04:04,550 --> 00:04:05,170
Adjetivo mal.

79
00:04:05,180 --> 00:04:06,320
El cierre sería acá.

80
00:04:06,650 --> 00:04:07,010
Perdón.

81
00:04:09,500 --> 00:04:10,430
De esta forma lo van a probar.

82
00:04:10,490 --> 00:04:11,630
Nos vamos a ir acá.

83
00:04:11,900 --> 00:04:14,540
Revisamos qué pasa si devuelve una dicta ousía?

84
00:04:14,630 --> 00:04:15,800
Obviamente no lo encuentra.

85
00:04:15,920 --> 00:04:19,310
Por lo tanto va a devolver un null, entonces a ser no null.

86
00:04:19,460 --> 00:04:22,730
Acá va a fallar porque en realidad va a ser null el examen.

87
00:04:27,840 --> 00:04:30,740
Se fijan esperaba no nul, pero fue Nule.

88
00:04:30,940 --> 00:04:31,590
No lo encuentra.

89
00:04:31,830 --> 00:04:35,760
Obviamente he estado viendo una lista vacía y no encuentra matemática en esta lista.

90
00:04:36,580 --> 00:04:41,760
Entonces, en cada escenario de prueba que queremos implementar acá, tendremos que modificar nuestro

91
00:04:41,760 --> 00:04:44,490
repositorio y es ahí donde entra Mosquito.

92
00:04:44,610 --> 00:04:49,440
Lo hace mucho más robusto, pero sube mucho más simple, fácil de probar.

93
00:04:49,530 --> 00:04:55,140
Solamente escribimos un mock en el método Fain Holl con los datos que queremos devolver, es decir,

94
00:04:55,230 --> 00:04:59,700
un contexto de prueba diferente sin tener que modificar ninguna implementación.

95
00:04:59,940 --> 00:05:03,630
Y puede que ni siquiera tengamos la implementación de quizá la creamos después.

96
00:05:04,140 --> 00:05:06,210
Por lo tanto, esto no es necesario.

97
00:05:06,670 --> 00:05:07,920
Bien, voy a copiar esto.

98
00:05:08,080 --> 00:05:10,890
Estos datos de prueba acá los voy a copiar.

99
00:05:11,130 --> 00:05:15,720
Vamos a ir a la clase test por acá y vamos a pegar acá.

100
00:05:15,720 --> 00:05:18,420
Tenemos nuestros datos de prueba la cacería raíz.

101
00:05:18,480 --> 00:05:21,150
Importamos del tipo listo,

102
00:05:24,630 --> 00:05:26,970
examen, datos.

103
00:05:28,080 --> 00:05:28,350
Igual.

104
00:05:28,380 --> 00:05:29,550
Esto importamos.

105
00:05:29,610 --> 00:05:30,060
Listo.

106
00:05:31,920 --> 00:05:32,600
De lo tenemos.

107
00:05:33,110 --> 00:05:37,430
Bien, entonces ahora entramos con poquito, ahora que tenemos tus datos de ejemplo.

108
00:05:37,790 --> 00:05:42,650
Podríamos incluso eliminar examen repositorio implemente esta acá.

109
00:05:44,000 --> 00:05:45,200
Simplemente la vamos a quitar.

110
00:05:45,830 --> 00:05:46,850
No la vamos a utilizar.

111
00:05:48,620 --> 00:05:49,460
La eliminamos.

112
00:05:50,490 --> 00:05:52,880
Esto acá también lo eliminamos.

113
00:05:54,350 --> 00:06:02,180
De hecho, vamos a eliminar esto nomá he tenido y vamos a utilizar acá examen, repositorio, la interfaz,

114
00:06:02,360 --> 00:06:12,380
el objeto igual y acá entre moquitos, entonces mock moquitos en realidad muñequito, punto Mok importamos

115
00:06:12,380 --> 00:06:20,720
poquito y acá pasamos el nombre de la interfaz puese de la interfaz o de la clase que queremos simular,

116
00:06:20,840 --> 00:06:27,500
por ejemplo en este caso examen, repositorio, examen, repositorio punto toclas entonces va a crear

117
00:06:27,590 --> 00:06:34,520
una referencia, una instancia, una implementación al vuelo de examen repository pero simulada con

118
00:06:34,520 --> 00:06:37,220
los métodos y le damos un comportamiento.

119
00:06:37,700 --> 00:06:44,240
Entonces, por ejemplo, cuando se invoque el método find examen por nombre del service, le vamos a

120
00:06:44,240 --> 00:06:50,900
indicar a moquitos que cuando se invoque el método del repository, el fin de buscar todos devuelva

121
00:06:50,930 --> 00:06:51,560
esta lista.

122
00:06:53,280 --> 00:06:54,750
Entonces todo esto lo cortamos.

123
00:06:54,930 --> 00:06:55,920
Lo dejamos por acá.

124
00:06:57,330 --> 00:06:59,360
Vamos a importar el poquito de forma automática.

125
00:06:59,580 --> 00:07:00,990
Ya entonces te quitamos.

126
00:07:01,990 --> 00:07:03,610
Dejamos solamente mock perfecto.

127
00:07:03,640 --> 00:07:04,660
Vamos a subir acá.

128
00:07:05,710 --> 00:07:13,150
Acá tenemos static o modificamos static punto asterisco.

129
00:07:13,240 --> 00:07:14,440
Es decir, todos los métodos.

130
00:07:14,900 --> 00:07:16,020
Y ahí tenemos Mok.

131
00:07:16,870 --> 00:07:19,390
Bien, entonces por acá un poquito también.

132
00:07:19,390 --> 00:07:20,520
Telémetro estático.

133
00:07:20,610 --> 00:07:28,630
Juan 12 Cuando se invoque el método del repositorio, entonces repositorio punto final.

134
00:07:29,410 --> 00:07:30,490
Y acá tenemos métodos.

135
00:07:30,670 --> 00:07:33,280
Entonces ven devolver.

136
00:07:33,400 --> 00:07:34,660
Acá tenemos el método Ratón.

137
00:07:34,750 --> 00:07:35,920
Bueno, acá tenemos varios métodos.

138
00:07:36,100 --> 00:07:40,030
Después vamos a ver si, por ejemplo, conocí un poco un método lanzar una excepción.

139
00:07:40,120 --> 00:07:49,030
En fin, acá vamos a devolver una lista de datos y así le damos la implementación o el comportamiento.

140
00:07:49,200 --> 00:07:55,600
Entonces, cuando se invoque, fenol va a devolver datos, pero ol del repository, que es una dependencia

141
00:07:55,840 --> 00:07:56,770
del servis.

142
00:07:57,520 --> 00:07:59,680
Entonces al final es acá.

143
00:07:59,980 --> 00:08:04,300
Acá se está invocando Find ol va a ver esa lista que le indicamos y va a buscar.

144
00:08:04,870 --> 00:08:12,520
Vamos a probar nuevamente en test y vamos a obtener el mismo resultado que tenemos ante la clase implementada.

145
00:08:12,910 --> 00:08:18,910
Al final, lo que hace detener la invocación real del método Find All y la simula por este comportamiento

146
00:08:18,910 --> 00:08:19,720
que le estamos dando acá.

147
00:08:20,660 --> 00:08:21,460
Ejecutamos.

148
00:08:24,890 --> 00:08:25,630
Y pasa la prueba.

149
00:08:26,740 --> 00:08:31,510
Está bien, es decir, encuentra matemáticas, llega, nos damos cuenta de que la implementación concreta

150
00:08:31,600 --> 00:08:33,460
del repository en realidad lo mismo.

151
00:08:33,640 --> 00:08:36,040
Incluso solamente para que lo tengan en cuenta.

152
00:08:36,190 --> 00:08:38,040
Voy a crear una nueva clase acá.

153
00:08:38,140 --> 00:08:38,890
Repositorio.

154
00:08:40,080 --> 00:08:45,660
Una clase que va a implementar esta interfaz, por ejemplo, examen repositorio.

155
00:08:47,550 --> 00:08:48,870
Otro da lo mismo.

156
00:08:49,770 --> 00:08:54,560
Quiero implementar implementa la interfaz examen repositorio.

157
00:08:54,750 --> 00:08:56,250
Bien, implementamos el método.

158
00:08:58,820 --> 00:09:04,340
Efecto, y acá vamos a tener, no sé, cualquier implementación, vamos a simular una pausa larga,

159
00:09:04,400 --> 00:09:10,340
por ejemplo, como si estuviera realizando una consulta el repositorio en la base dato se fijan con

160
00:09:10,340 --> 00:09:21,370
un tiempo con un delay unit punto no se que se demore en segundo, por ejemplo punto sleep 5 segundo

161
00:09:21,620 --> 00:09:28,930
y sobre el error acá troika al enter zorrón, el catch anidar contra ricacho se fijan y devuélvelos.

162
00:09:28,970 --> 00:09:34,850
Qué cosa podría devolver datos de ejemplo y devuelve cookie cosasy lo importante es simular alguna acción

163
00:09:34,940 --> 00:09:37,260
que está haciendo el repositorio de alguna consulta pesada.

164
00:09:37,280 --> 00:09:39,590
Trabajando se fija con un apagase o 5 segundos.

165
00:09:39,680 --> 00:09:45,890
En fin, nos vamos a ir a la clase text y en vez de utilizar la interfaz vamos a utilizar esta implementación

166
00:09:46,040 --> 00:09:47,300
examen repository.

167
00:09:47,720 --> 00:09:53,090
Otro punto que las se fijan, solo estamos usando la clase repository y no la interfaz.

168
00:09:53,330 --> 00:09:59,780
Estamos creando un mock, un simulacro de implementación concreta, pero si ejecuto esto al final nunca

169
00:09:59,780 --> 00:10:07,430
se va a invocar el método Find All Real Real del objeto examen repositorio otro nunca se invocar este

170
00:10:07,430 --> 00:10:14,570
método ya que lo estamos simulando acá en la clase test digan con el when repository font all que devuelve

171
00:10:14,570 --> 00:10:14,900
esto.

172
00:10:15,110 --> 00:10:20,090
Al final se está invocando esta simulación y no el método el objeto real.

173
00:10:20,180 --> 00:10:26,240
De hecho, esto acá es un mock, ni siquiera el objeto la instancia real de examen repositorio otro.

174
00:10:26,720 --> 00:10:33,320
Simplemente pasamos esto al servis y el servis va a detener, va a bloquear la llamada real del objeto.

175
00:10:33,650 --> 00:10:38,810
Entonces veamos si me doy cuenta de que ni siquiera esto va a ser inmediato, ni siquiera esperar cinco

176
00:10:38,810 --> 00:10:42,650
segundos, porque en realidad nos está llamando el método real.

177
00:10:45,080 --> 00:10:47,730
Se fijan en automático, no pasa por acá.

178
00:10:48,230 --> 00:10:51,950
Incluso podríamos acá imprimir con un shout.

179
00:10:54,470 --> 00:10:55,430
Es todo acá.

180
00:10:55,940 --> 00:10:56,990
Volvemos a levantar.

181
00:10:59,160 --> 00:11:00,390
Tampoco se imprime consola.

182
00:11:01,830 --> 00:11:02,970
Nunca se imprimió.

183
00:11:04,100 --> 00:11:06,860
Esto de acá está mi repositorio, otro por qué nos está llamando.

184
00:11:07,280 --> 00:11:08,090
Y eso es lo importante.

185
00:11:08,180 --> 00:11:10,580
Se está simulando ese método.

186
00:11:10,670 --> 00:11:14,060
Entonces por eso borré el otro repositorio que teníamos.

187
00:11:14,180 --> 00:11:15,680
Porque al final da lo mismo.

188
00:11:16,020 --> 00:11:19,070
Bien, ahora vamos a modificar un poco nuestro método.

189
00:11:19,230 --> 00:11:24,860
Nos vamos a ir a examen Servis Simplement y también vamos a modificar esta implementación y nuestra

190
00:11:25,160 --> 00:11:25,450
tarea.

191
00:11:25,580 --> 00:11:26,510
Proyecté un poco mejor.

192
00:11:26,810 --> 00:11:28,310
Entonces vamos a tomar esto.

193
00:11:28,400 --> 00:11:32,390
El optional examen, lo seleccionamos, lo copiamos y lo pegamos acá.

194
00:11:32,510 --> 00:11:34,430
Es decir, va a devolver un optional.

195
00:11:34,730 --> 00:11:36,320
También vamos a ir a la interfaz.

196
00:11:37,220 --> 00:11:43,630
Entonces por acá a la interfaz y en vez de devolver el examen, va a devolver un optional del examen.

197
00:11:46,520 --> 00:11:50,330
No sé, esto en realidad da lo mismo, lo quitamos.

198
00:11:50,550 --> 00:11:51,370
Queda mucho más fácil.

199
00:11:51,450 --> 00:11:54,480
Y acá devolvemos examen opcional.

200
00:11:54,990 --> 00:11:57,420
Visto tampoco, ni siquiera necesario hacer esto.

201
00:11:57,450 --> 00:11:59,850
Simplemente esto se reemplaza por el ratón.

202
00:12:00,630 --> 00:12:01,500
Esto lo quitamos.

203
00:12:03,060 --> 00:12:07,200
Esto lo quitamos, lo quitamos y esto lo movemos acá.

204
00:12:07,670 --> 00:12:07,950
Fija.

205
00:12:09,810 --> 00:12:15,330
Proton Eso es un repository, fue Olt y hace la búsqueda y devuelve por cierto el optional.

206
00:12:15,390 --> 00:12:17,010
El examen queda mejor.

207
00:12:17,160 --> 00:12:21,180
Ahora nos vamos a ir a nuestra prueba unitaria acá.

208
00:12:21,480 --> 00:12:23,520
Entonces devuelve un optional.

209
00:12:27,560 --> 00:12:33,860
Optional lo importamos de lleba útil, perfecto y ni siquiera es necesario probar esto.

210
00:12:34,070 --> 00:12:40,140
Not nul, esto incluso lo queremos quitar o de hecho lo podemos cambiar por true true.

211
00:12:40,490 --> 00:12:40,670
Llega?

212
00:12:40,670 --> 00:12:43,640
Preguntamos examen punto espresa.

213
00:12:44,360 --> 00:12:46,880
Es decir, si está presente el examen.

214
00:12:46,970 --> 00:12:49,580
Si se encontró y luego si se encontró.

215
00:12:49,640 --> 00:12:55,730
Bueno, probamos la cacería, examen, punto or els fru o estar.

216
00:12:56,300 --> 00:13:00,830
Pero el happy nos recomienda que sea con él el cero punto quieto.

217
00:13:01,070 --> 00:13:03,350
Ahí obtenemos el objeto y lo comparamos con esto.

218
00:13:03,440 --> 00:13:04,110
Y lo mismo acá.

219
00:13:04,670 --> 00:13:05,750
Pero también podría ser Geet.

220
00:13:05,990 --> 00:13:13,430
Recuerden al final get que obtiene el objeto y este método son exactamente lo mismo.

221
00:13:13,520 --> 00:13:16,370
Hacen lo mismo solamente que el happy acá nos recomienda.

222
00:13:16,490 --> 00:13:23,150
Se acuerdan que prefiramos usar el or el cetro llegue mucho mejor nuestro preguntaria incluso acá en

223
00:13:23,150 --> 00:13:29,810
el mock examen repository otro estamos usando la implementación concreta la clase simplemente podrían

224
00:13:29,810 --> 00:13:33,080
utilizar la interfaz de fican y no la clase queda mejor ahora.

225
00:13:33,170 --> 00:13:38,810
Otro tema importante bueno, no se pueden hacer un mock de cualquier método, solamente los métodos

226
00:13:38,810 --> 00:13:45,020
que son públicos o default de fold siempre cuando estemos dentro del mismo paquete, pero no de métodos

227
00:13:45,020 --> 00:13:45,460
privados.

228
00:13:45,560 --> 00:13:50,990
Es decir, no puedo realizar una simulación de un método privado ni tampoco de un método estático,

229
00:13:51,230 --> 00:13:53,930
por ejemplo, en el repository en la interfaz.

230
00:13:53,990 --> 00:13:54,670
Acá están.

231
00:13:54,690 --> 00:14:01,400
Un repository no puede ser un método estático, tampoco un método privado, ni tampoco un método final

232
00:14:01,490 --> 00:14:02,030
o final.

233
00:14:02,150 --> 00:14:03,260
Solamente métodos pùblico.

234
00:14:05,230 --> 00:14:10,930
Bien, y así como tenemos nuestro preguntaria que estamos probando, este contexto se fija en este de

235
00:14:10,960 --> 00:14:11,350
acá.

236
00:14:11,670 --> 00:14:13,510
También podrías probar otro contexto.

237
00:14:13,570 --> 00:14:20,400
Qué pasa si en vez de que los datos que quiero que devuelva este método acá el centro botón sea esto

238
00:14:20,410 --> 00:14:25,450
todo acá, devuelva otro conjunto, otro set de exámenes, por ejemplo?

239
00:14:25,490 --> 00:14:28,420
Bueno, cualquiera o incluso una lista vacía.

240
00:14:28,750 --> 00:14:30,880
De hecho, podría seleccionar todo esto.

241
00:14:31,450 --> 00:14:34,300
Lo copiamos acá.

242
00:14:34,300 --> 00:14:41,410
Cambiamos fin examen por nombre empty o lista vacía lista.

243
00:14:41,800 --> 00:14:43,660
Y acá cambiamos en vez de esto.

244
00:14:44,890 --> 00:14:45,530
Collection.

245
00:14:46,510 --> 00:14:47,110
En The List.

246
00:14:47,200 --> 00:14:47,980
Otro contexto.

247
00:14:48,310 --> 00:14:50,950
Y no depende de una implementación, no depende de una clase.

248
00:14:51,490 --> 00:14:53,440
Simplemente modificamos los datos.

249
00:14:54,250 --> 00:14:55,030
Levantamos.

250
00:14:59,550 --> 00:15:00,410
Y está perfecto.

251
00:15:00,500 --> 00:15:05,810
Acá falla en el hacer Trum porque no está presente y expresan devolvió falso.

252
00:15:06,050 --> 00:15:09,020
Y nosotros esperamos thru se fijan, entonces está perfecto.

253
00:15:09,200 --> 00:15:14,630
Podemos implementar con moquitos varios contextos de prueba, es mucho más flexible, mucho más simple

254
00:15:14,630 --> 00:15:19,040
utilizar sin tener que crean una clase de ejemplo compleja ni nada por el estilo.

255
00:15:19,250 --> 00:15:22,540
Bien, lo dejamos así y continuamos en la siguiente clase.
