1
00:00:00,150 --> 00:00:06,030
Clases anidadas, una de la característica que nos provee Yun It, que es bastante útil, no permite

2
00:00:06,030 --> 00:00:13,860
ordenar organizar otro método de test, pero dentro de una clase anidada en Java se le conoce como inner

3
00:00:13,860 --> 00:00:19,500
class, es decir, una clase que está dentro de otra clase y podemos colocar varios métodos en una clase

4
00:00:19,620 --> 00:00:26,910
dentro o anidada de tal forma para poder organizar de forma jerárquica nuestro texto visiblemente.

5
00:00:26,970 --> 00:00:32,790
Queda mucho mejor y no solamente visible, sino también organizamos nuestras pruebas por lo que hacen

6
00:00:32,820 --> 00:00:34,050
por el contexto.

7
00:00:34,110 --> 00:00:40,110
Se fijan, por poner un ejemplo, todos los métodos que estamos utilizando el asun true, por ejemplo,

8
00:00:40,200 --> 00:00:45,540
o asumen DAT estos dos que están relacionados porque estamos asumiendo algo y estamos trabajando, por

9
00:00:45,540 --> 00:00:53,070
ejemplo, con variables de ambientes de fijan podrían ir en una clase nester anidada lo mismo todos

10
00:00:53,070 --> 00:00:56,580
los enabled y en barrios en variable también.

11
00:00:56,940 --> 00:01:03,990
Otra clase da lo mismo con esto de acá sisten property o sistema operativo o incluso si quiero organizar

12
00:01:04,110 --> 00:01:06,270
nuestros test por contexto.

13
00:01:06,300 --> 00:01:12,450
Por ejemplo, te provando nombre de cuenta, sĂłlo cuenta se fijan cuenta entonces todo lo que se da

14
00:01:12,460 --> 00:01:16,110
cuenta yes el nombre o saldo dentro de una clase nidada.

15
00:01:16,170 --> 00:01:20,580
Podríamos tener otra clase anidad para todo lo que es el débito.

16
00:01:20,700 --> 00:01:25,530
El crédito que es un poco más profundo dentro de la cuenta.

17
00:01:25,650 --> 00:01:31,350
Método de operación se fijan lo mismo que el banco cuando realizamos la transferencia lo tenemos un

18
00:01:31,350 --> 00:01:32,040
poquito abajo.

19
00:01:32,220 --> 00:01:33,540
Por ejemplo, transferir.

20
00:01:34,080 --> 00:01:36,960
Quizás esos tres métodos pueden estar dentro de una clase.

21
00:01:37,170 --> 00:01:42,840
Sé que transferir saldo débito de alguna forma están relacionados forma parte del mismo contexto.

22
00:01:43,050 --> 00:01:43,950
Veamos el ejemplo.

23
00:01:44,010 --> 00:01:47,550
Partamos primero categorizado nuestros test.

24
00:01:47,730 --> 00:01:52,170
Bajamos por ejemplo y acá vamos a partir con el sistema operativo.

25
00:01:52,440 --> 00:01:53,700
Creo que es lo mejor por acá.

26
00:01:54,090 --> 00:01:54,300
Listo.

27
00:01:54,300 --> 00:01:56,610
Entonces acá vamos a tener una clase anidada.

28
00:01:57,030 --> 00:02:00,720
Es una clase default, sin públic, sin nada default.

29
00:02:00,900 --> 00:02:06,780
Dentro de la clase principal le damos un nombre por poner un nombre class sistema operativo

30
00:02:09,660 --> 00:02:10,590
test perfecto.

31
00:02:10,680 --> 00:02:13,110
Las llaves bajamos, se fijan.

32
00:02:13,200 --> 00:02:20,790
Ahí tengo una clase anidad y meto relacionado con el sistema operativo en Nabeel on o s lo vamos a seleccionar

33
00:02:20,880 --> 00:02:21,900
completo todos.

34
00:02:23,430 --> 00:02:25,860
Por ejemplo, hasta acá perfecto.

35
00:02:25,950 --> 00:02:27,560
Y estos tres métodos van acá.

36
00:02:30,480 --> 00:02:32,650
Que tenemos otra clase se fijan anidada.

37
00:02:36,460 --> 00:02:38,630
Ya versión texto, perfecto.

38
00:02:39,420 --> 00:02:47,640
Entonces acá los seleccionamos, atacan, cortamos, pegamos.

39
00:02:53,520 --> 00:02:58,470
Siten Property Test también va bajamos.

40
00:03:00,580 --> 00:03:02,740
Y todo lo que es así, Properties ataca.

41
00:03:04,470 --> 00:03:05,130
Lo pegamos.

42
00:03:07,700 --> 00:03:08,690
Varía el ambiente?

43
00:03:11,580 --> 00:03:12,050
Test.

44
00:03:15,840 --> 00:03:21,930
Y si lo hiciéramos todo en perome invariable, hasta acá corta.

45
00:03:23,520 --> 00:03:24,300
Y lo pegamos.

46
00:03:24,780 --> 00:03:24,990
Listo.

47
00:03:25,020 --> 00:03:26,400
Bueno, hoy tenemos clase.

48
00:03:27,120 --> 00:03:33,900
El siguiente paso es anotar, es decir, indicar de alguna forma de que se trata de una clase que estamos

49
00:03:34,020 --> 00:03:34,800
organizando.

50
00:03:34,980 --> 00:03:40,240
Entonces con este electo se Bejan Neste importamos de.

51
00:03:41,010 --> 00:03:42,420
Y acá tenemos nuestra clase anidad.

52
00:03:43,590 --> 00:03:49,110
Lo mismo acá y lo mismo acá.

53
00:03:51,370 --> 00:03:51,850
Yaca?

54
00:03:53,930 --> 00:03:54,500
Perfecto.

55
00:03:57,310 --> 00:04:00,160
También podríamos modernizar por contexto un poco más rria.

56
00:04:00,640 --> 00:04:03,300
Acá estamos probando todo lo relacionado, cuenta.

57
00:04:03,490 --> 00:04:10,720
Entonces por acá pude obtener class, cuenta, texto, cuenta, pero cuenta test.

58
00:04:10,840 --> 00:04:11,560
Ya lo tenemos.

59
00:04:11,740 --> 00:04:13,450
La clase principal se fijan acá.

60
00:04:14,590 --> 00:04:24,940
Cuenta Test, entonces podría ser kuenta test, nombre y salto se fijan y todo lo que tenemos acá lo

61
00:04:24,940 --> 00:04:27,790
movemos, lo seleccionamos acá tan pronto nombre la cuenta.

62
00:04:27,820 --> 00:04:28,510
Perfecto.

63
00:04:28,690 --> 00:04:30,160
Acá el saldo, la cuenta.

64
00:04:30,370 --> 00:04:35,650
La referencia también de alguna forma está relacionado con ambos atributos y está ahí.

65
00:04:36,160 --> 00:04:36,760
Perfecto.

66
00:04:39,540 --> 00:04:41,640
Ahora tenemos otro test neste.

67
00:04:45,350 --> 00:04:50,120
Qué más podríamos tener acá operaciones, texto, cuenta operaciones, por ejemplo,

68
00:04:54,590 --> 00:04:55,070
texto.

69
00:04:56,980 --> 00:05:01,180
Y llega, podríamos tener todo lo que débito, crédito y transferencia del banco.

70
00:05:02,680 --> 00:05:03,910
Vamos a mover esto de acá.

71
00:05:04,360 --> 00:05:09,310
Quizás el manejo acepcion no puede ser otra que la sanidad y hoy podemos tener todo lo que manejamos

72
00:05:09,370 --> 00:05:14,650
exepciones con el hacer thru se fijan, podemos tener todos esos comprobaciones y realmente la sección

73
00:05:14,650 --> 00:05:16,750
que se está lanzando en un método es la correcta.

74
00:05:16,870 --> 00:05:18,850
Podríamos tener todo eso dentro de una clase.

75
00:05:19,870 --> 00:05:23,290
Lo cortamos, lo pegamos, pero un poco más bajo.

76
00:05:23,290 --> 00:05:26,020
Tenemos otro transferencia de dinero también.

77
00:05:26,320 --> 00:05:28,420
Eso lo podemos cortar y pegar.

78
00:05:33,810 --> 00:05:34,950
Y la relacioné.

79
00:05:35,250 --> 00:05:37,860
Bueno, aparte sería otro contexto.

80
00:05:39,010 --> 00:05:42,970
Lo dejamos así, ya que faltaría faltaría anotar acá con esta.

81
00:05:47,000 --> 00:05:49,850
Y por acá lo tenemos anotado con este sí está perfecto.

82
00:05:50,060 --> 00:05:50,300
Bien.

83
00:05:50,420 --> 00:05:54,170
Otra característica de Nether estas iner class anidada.

84
00:05:54,320 --> 00:06:02,200
Bueno, también podemos colocar algún hooks o eventos el foreach o Asterisk en esta clase before hold

85
00:06:02,340 --> 00:06:04,760
ya no solamente para la clase principal.

86
00:06:04,940 --> 00:06:10,520
Eso no se puede colocar en los iner en la clases anidad solamente lo que tenga relación con cada método,

87
00:06:10,580 --> 00:06:14,330
con los ids before after lo podemos utilizar sin ningún problema.

88
00:06:14,690 --> 00:06:20,010
Otra característica es que me permite también colocar display name, por ejemplo por sobre el nombre

89
00:06:20,010 --> 00:06:27,110
de la clase para dar un nombre más atractivo, más detallado de lo que hace esta clase anidad en general

90
00:06:27,260 --> 00:06:28,400
y después por cada método.

91
00:06:28,580 --> 00:06:33,050
Incluso podríamos tener una descripción en el nombre de la clase con alguna oración.

92
00:06:33,170 --> 00:06:34,010
Alguna descripción?

93
00:06:34,070 --> 00:06:39,320
Y después cada metodo continúa con esa descripción, pero un poco más personal para cada uno de estos

94
00:06:39,320 --> 00:06:39,770
métodos.

95
00:06:39,920 --> 00:06:46,910
Es decir, que la descripción que tenga la clase tenga una continuidad y tenga sentido, con la excepción

96
00:06:47,030 --> 00:06:52,580
de cada metodo, se fijan más que nada algo 100 por ciento gramatical, nada más.

97
00:06:52,850 --> 00:06:58,760
También lo podemos hacer, por ejemplo, acá, no sé, en este display name

98
00:07:01,820 --> 00:07:03,470
robando atributos

99
00:07:06,530 --> 00:07:12,180
cuenta por ejemplo atributos de cuenta y acá el nombre de la cuenta corriente de origen.

100
00:07:12,440 --> 00:07:20,100
Entonces probando atributo C, la cuenta en nombre de la cuenta corriente Fisher cuenta 40.

101
00:07:20,100 --> 00:07:29,000
Está además porque está dentro acá de la cuenta Lusaka cuenta corriente fija simplemente es true quitamos.

102
00:07:31,070 --> 00:07:39,890
El nombre acá lo mismo prueban Rosalba, el Sargón, Torriente, el salto está acá, le quitamos del

103
00:07:39,890 --> 00:07:45,620
contour ente, lo quitamos porque está además el saldo que no sea Anul mayor queseros se fijan, no

104
00:07:45,740 --> 00:07:51,070
queda mucho más organizado testeando reference que sean iguales con el método iguales perfectos.

105
00:07:51,140 --> 00:07:54,050
Eso está bien y así podemos dar descripción.

106
00:07:54,150 --> 00:07:55,430
Ven, vamos a probar.

107
00:07:56,830 --> 00:07:57,940
Fuera de la clase.

108
00:07:58,060 --> 00:07:59,050
Y digo qué método?

109
00:07:59,170 --> 00:08:02,260
Siempre en la clase principal y levantamos.

110
00:08:06,070 --> 00:08:10,140
Veamos, acá tenemos nuestra clase principal, acá tenemos nuestra clase.

111
00:08:10,450 --> 00:08:15,070
Si se fijan se forman como nodos y cada tiene sus hijos, su jerarquía.

112
00:08:16,310 --> 00:08:18,380
Acá tenemos una clase anidada.

113
00:08:18,530 --> 00:08:19,470
Acá tenemos otra.

114
00:08:19,550 --> 00:08:25,750
Bueno, acá cuenta operación test, yeva versión test, probando atributo le cuanto corriente se fija

115
00:08:26,540 --> 00:08:29,420
el nombre, el saldo que no sea Anul testeando.

116
00:08:31,000 --> 00:08:36,520
Sistema operativo texto todas las pruebas sistema operativo que mucho organizado mucho más fácil de

117
00:08:36,520 --> 00:08:44,050
navegar System properties texto imprimir todas nuestras variable de sistema y nuestra prueba.

118
00:08:46,620 --> 00:08:49,350
Varia el ambiente, todo lo relacionado con varia el ambiente.

119
00:08:50,650 --> 00:08:52,830
Luego tenemos los métodos propios ya.

120
00:08:54,890 --> 00:09:00,490
Luego tenemos el método propio que quienes están anidado en ninguna clase salvo insuficiente exception.

121
00:09:00,560 --> 00:09:06,590
Se acuerdan que no lo agregamos a ninguna clase, sĂłlo cuenta de que son los asuntos o supuestos para

122
00:09:06,590 --> 00:09:09,000
habilitar o deshabilitar de forma programática.

123
00:09:09,110 --> 00:09:10,850
Lo dejamos en la raíz.

124
00:09:11,510 --> 00:09:13,170
También pueden ir en una clase nidada.

125
00:09:13,400 --> 00:09:15,560
Decir lo queremos manejÃ a nosotros en realidad.

126
00:09:15,740 --> 00:09:16,370
Claro, tampoco.

127
00:09:16,370 --> 00:09:23,030
No hay una regla de oro que nos diga cuándo o cómo o dónde tenga que implementar estas inner class.

128
00:09:23,150 --> 00:09:27,680
Con este un poco que no haga sentido a nosotros mismos, cómo lo queremos organizar?

129
00:09:27,920 --> 00:09:34,880
Se fijan por categoría, por tipo de prueba unitaria o incluso podríamos organizar solamente por atributos

130
00:09:35,030 --> 00:09:39,200
de la cuenta bré a prueba sobre el atributo nombre con diferentes valores.

131
00:09:39,380 --> 00:09:43,520
Varias pruebas sobre el atributo sĂłlo con diferentes valores se fija en tem..

132
00:09:43,550 --> 00:09:45,350
Podemos categorizar en ese sentido.

133
00:09:46,100 --> 00:09:48,080
En fin, no hay una regla de oro para esto.

134
00:09:49,280 --> 00:09:58,340
Lo importante es que si dentro de una clase anidada falla alguno de los métodos, falla la clase completa.

135
00:09:58,600 --> 00:10:02,060
Anidada porque se va heredando esto se va de una jerarquía.

136
00:10:02,150 --> 00:10:04,070
Si falla el hijo, también falla el padre.

137
00:10:04,250 --> 00:10:07,250
Y por supuesto, si falla el padre, falla también el abuelo.

138
00:10:07,460 --> 00:10:09,170
La cuenta test, la clase principal.

139
00:10:09,710 --> 00:10:11,150
No sé, por poner un ejemplo.

140
00:10:11,670 --> 00:10:13,790
Acá llega ñando.

141
00:10:14,090 --> 00:10:21,980
Te ponemos Ñón Rojo Roe, ejecutamos siempre fuera por acá Control Cheff, F10.

142
00:10:24,000 --> 00:10:27,390
Ya falla de partida, falla a causa de que falló.

143
00:10:27,780 --> 00:10:28,560
Cuenta texto.

144
00:10:29,850 --> 00:10:31,500
Y eso está bien, está bien.

145
00:10:31,740 --> 00:10:32,460
Acá está el problema.

146
00:10:32,490 --> 00:10:38,640
Se fijan en esa clase de fallo de clase anidada y falló este hijo testeando referencias que son iguales.

147
00:10:39,210 --> 00:10:44,610
Entonces también es mucho más fácil de detectar un error, sobretodo cuando son clases de tests con

148
00:10:44,610 --> 00:10:45,510
mucho método de test.

149
00:10:45,560 --> 00:10:46,590
Tal como lo tenemos acá.

150
00:10:47,370 --> 00:10:51,480
Es fácil de hacer un seguimiento, ver dónde falló y cómo va rebotando.

151
00:10:51,570 --> 00:10:52,200
Es el padre.

152
00:10:53,030 --> 00:10:54,960
Entonces vamos a implementar estas pruebas.

153
00:10:55,080 --> 00:10:59,820
Esta clase es indert class o anidadas solamente para organizar nuestra clase.

154
00:10:59,940 --> 00:11:00,720
Categorizar.

155
00:11:00,840 --> 00:11:02,670
Nos vemos en la siguiente clase.
