]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Tests/TestsAutorizacion.cs
Agrego material de estudio.
[z.facultad/75.10/miklolife.git] / demo / src / Tests / TestsAutorizacion.cs
1 using System;\r
2 using Dominio.Autorizaciones;\r
3 using Controlador;\r
4 \r
5 namespace Tests\r
6 {\r
7         /// <summary>\r
8         /// Clase para testear la clase Autorizacion\r
9         /// </summary>\r
10         public sealed class TestsAutorizacion\r
11         {\r
12                 #region Singleton\r
13 \r
14                 private TestsAutorizacion()\r
15                 {\r
16                 }\r
17 \r
18                 public static TestsAutorizacion Instancia\r
19                 {\r
20                         get { return new TestsAutorizacion(); }\r
21                 }\r
22 \r
23                 #endregion Singleton\r
24 \r
25                 #region Factorys de Autorizaciones\r
26 \r
27                 private AutorizacionAutomatica MakeAutorizacionAutomatica( int codigo, DateTime fechaSolicitud, \r
28                         bool aprobada, DateTime fechaRealizacion, DateTime fechaVencimiento )\r
29                 {\r
30                         AutorizacionAutomatica a = new AutorizacionAutomatica( fechaSolicitud );\r
31                         a.Codigo = codigo;\r
32                         a.Aprobada = aprobada;\r
33                         a.FechaRealizacion = fechaRealizacion;\r
34                         a.FechaVencimiento = fechaVencimiento;\r
35 \r
36                         return a;\r
37                 }\r
38 \r
39                 private AutorizacionManual MakeAutorizacionManual( int codigo, DateTime fechaSolicitud, \r
40                         DateTime fechaResolucion, bool aprobada, DateTime fechaRealizacion, DateTime fechaVencimiento )\r
41                 {\r
42                         AutorizacionManual a = new AutorizacionManual( fechaSolicitud );\r
43                         a.Codigo = codigo;\r
44                         a.Aprobada = aprobada;\r
45                         a.FechaResolucion = fechaResolucion;\r
46                         a.FechaRealizacion = fechaRealizacion;\r
47                         a.FechaVencimiento = fechaVencimiento;\r
48 \r
49                         return a;\r
50                 }\r
51 \r
52                 #endregion Factorys de Autorizaciones\r
53                 \r
54                 /// <summary>\r
55                 /// Ejecuta todos los métodos de ésta clase cuyos nombres comiencen con "Test"\r
56                 /// </summary>\r
57                 public void EjecutarTodos()\r
58                 {\r
59                         System.Reflection.MethodInfo[] metodos = typeof(TestsAutorizacion).GetMethods();\r
60                         foreach ( System.Reflection.MethodInfo metodo in metodos )\r
61                         {\r
62                                 if ( metodo.Name.Substring(0, 4) == "Test" )\r
63                                         metodo.Invoke( this, null );\r
64                         }\r
65                 }\r
66 \r
67                 #region Tests individuales\r
68 \r
69                 public void Test01_Manual_Estado()\r
70                 {\r
71                         bool exitoso = false;\r
72 \r
73                         // 30 de mayo, 17hs\r
74                         DateTime fecha = new DateTime( 2005, 5, 30, 17, 0, 0 );\r
75 \r
76                         DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);             //2 de mayo, 11hs\r
77                         DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);    //2 de mayo, 18hs\r
78                         bool aprobada = true;\r
79                         DateTime fechaVencimiento = fechaResolucion.AddMonths( 2 );\r
80                         DateTime fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0);   //16 de mayo, 9hs\r
81 \r
82                         AutorizacionManual am = MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada, \r
83                                 fechaRealizacion, fechaVencimiento );\r
84 \r
85                         Autorizacion.Estado estado = am.getEstado(fecha);\r
86                         exitoso = ( estado == Autorizacion.Estado.Realizada );\r
87 \r
88                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, \r
89                                 fecha, estado);\r
90                 }\r
91 \r
92                 public void Test02_Manual_Estado()\r
93                 {\r
94                         bool exitoso = false;\r
95 \r
96                         // 1 de mayo, 17hs\r
97                         DateTime fecha = new DateTime( 2005, 5, 1, 17, 0, 0 );\r
98 \r
99                         DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);             //2 de mayo, 11hs\r
100                         DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);    //2 de mayo, 18hs\r
101                         bool aprobada = true;\r
102                         DateTime fechaVencimiento = fechaResolucion.AddMonths( 2 );\r
103                         DateTime fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0);   //16 de mayo, 9hs\r
104 \r
105                         AutorizacionManual am = MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada, \r
106                                 fechaRealizacion, fechaVencimiento );\r
107 \r
108                         Autorizacion.Estado estado = am.getEstado(fecha);\r
109                         exitoso = ( estado == Autorizacion.Estado.Inexistente );  //Determinación del resultado\r
110 \r
111                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, \r
112                                 fecha, estado);\r
113                 }\r
114 \r
115                 public void Test03_Manual_Estado()\r
116                 {\r
117                         bool exitoso = false;\r
118 \r
119                         // 2 de mayo, 17hs\r
120                         DateTime fecha = new DateTime( 2005, 5, 2, 17, 0, 0 );\r
121 \r
122                         DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);             //2 de mayo, 11hs\r
123                         DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);    //2 de mayo, 18hs\r
124                         bool aprobada = true;\r
125                         DateTime fechaVencimiento = fechaResolucion.AddMonths( 2 );\r
126                         DateTime fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0);   //16 de mayo, 9hs\r
127 \r
128                         AutorizacionManual am = MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada, \r
129                                 fechaRealizacion, fechaVencimiento );\r
130 \r
131                         Autorizacion.Estado estado = am.getEstado(fecha);\r
132                         exitoso = ( estado == Autorizacion.Estado.Pendiente );  //Determinación del resultado\r
133 \r
134                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, \r
135                                 fecha, estado);\r
136                 }\r
137 \r
138                 public void Test04_Manual_Estado()\r
139                 {\r
140                         bool exitoso = false;\r
141 \r
142                         // 10 de diciembre, 17hs\r
143                         DateTime fecha = new DateTime( 2005, 12, 10, 17, 0, 0 );\r
144 \r
145                         DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);             //2 de mayo, 11hs\r
146                         DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);    //2 de mayo, 18hs\r
147                         bool aprobada = true;\r
148                         DateTime fechaVencimiento = fechaResolucion.AddMonths( 2 );\r
149                         DateTime fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0);   //16 de mayo, 9hs\r
150 \r
151                         AutorizacionManual am = MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada, \r
152                                 fechaRealizacion, fechaVencimiento );\r
153 \r
154                         Autorizacion.Estado estado = am.getEstado(fecha);\r
155                         exitoso = ( estado == Autorizacion.Estado.Realizada );  //Determinación del resultado\r
156 \r
157                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, \r
158                                 fecha, estado);\r
159                 }\r
160 \r
161                 public void Test05_Manual_Estado()\r
162                 {\r
163                         bool exitoso = false;\r
164 \r
165                         // 10 de diciembre, 17hs\r
166                         DateTime fecha = new DateTime( 2005, 12, 10, 17, 0, 0 );\r
167 \r
168                         DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);             //2 de mayo, 11hs\r
169                         DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);    //2 de mayo, 18hs\r
170                         bool aprobada = true;\r
171                         DateTime fechaVencimiento = fechaResolucion.AddMonths( 2 );\r
172                         DateTime fechaRealizacion = DateTime.MinValue;  //No realizada\r
173 \r
174                         AutorizacionManual am = this.MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada, \r
175                                 fechaRealizacion, fechaVencimiento );\r
176 \r
177                         Autorizacion.Estado estado = am.getEstado(fecha);\r
178                         exitoso = ( estado == Autorizacion.Estado.Realizada );  //Determinación del resultado\r
179 \r
180                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, \r
181                                 fecha, estado);\r
182                 }\r
183 \r
184                 public void Test06_Manual_Estado()\r
185                 {\r
186                         bool exitoso = false;\r
187 \r
188                         // 10 de diciembre, 17hs\r
189                         DateTime fecha = new DateTime( 2005, 12, 10, 17, 0, 0 );\r
190 \r
191                         DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);             //2 de mayo, 11hs\r
192                         DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);    //2 de mayo, 18hs\r
193                         bool aprobada = false;\r
194                         DateTime fechaVencimiento = DateTime.MinValue;  \r
195                         DateTime fechaRealizacion = DateTime.MinValue;  //No realizada\r
196 \r
197                         AutorizacionManual am = this.MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada, \r
198                                 fechaRealizacion, fechaVencimiento );\r
199 \r
200                         Autorizacion.Estado estado = am.getEstado(fecha);\r
201                         exitoso = ( estado == Autorizacion.Estado.Rechazada );  //Determinación del resultado\r
202 \r
203                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, \r
204                                 fecha, estado);\r
205                 }\r
206 \r
207                 public void Test07_Manual_Estado()\r
208                 {\r
209                         bool exitoso = false;\r
210 \r
211                         // 2 de mayo, 12hs\r
212                         DateTime fecha = new DateTime( 2005, 5, 2, 12, 0, 0 );\r
213 \r
214                         DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);             //2 de mayo, 11hs\r
215                         DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);    //2 de mayo, 18hs\r
216                         bool aprobada = false;\r
217                         DateTime fechaVencimiento = DateTime.MinValue;  \r
218                         DateTime fechaRealizacion = DateTime.MinValue;  //No realizada\r
219 \r
220                         AutorizacionManual am = this.MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada, \r
221                                 fechaRealizacion, fechaVencimiento );\r
222 \r
223                         Autorizacion.Estado estado = am.getEstado(fecha);\r
224                         exitoso = ( estado == Autorizacion.Estado.Pendiente );  //Determinación del resultado\r
225 \r
226                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, \r
227                                 fecha, estado);\r
228                 }\r
229 \r
230                 public void TestSeba08_Manual_Guardar()\r
231                 {\r
232                         bool exitoso = false;\r
233 \r
234                         // 2 de mayo, 12hs\r
235                         DateTime fecha = new DateTime( 2005, 5, 2, 12, 0, 0 );\r
236 \r
237                         DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);             //2 de mayo, 11hs\r
238                         DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);    //2 de mayo, 18hs\r
239                         bool aprobada = false;\r
240                         DateTime fechaVencimiento = DateTime.MinValue;  \r
241                         DateTime fechaRealizacion = DateTime.MinValue;  //No realizada\r
242 \r
243                         AutorizacionManual am = this.MakeAutorizacionManual( - 1, fechaSolicitud, fechaResolucion, aprobada, \r
244                                 fechaRealizacion, fechaVencimiento );\r
245 \r
246                         AutorizacionController ac = new AutorizacionController(DateTime.Now);\r
247                         using (ac)\r
248                         {\r
249                                 exitoso=ac.guardarAutorizacionManual("mierda", "11-11111111-1" , 69, "observo hepatitis" );\r
250                         }\r
251 \r
252 \r
253                         \r
254 \r
255                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, \r
256                                 fecha );\r
257                 }\r
258 \r
259                 \r
260                 #endregion Tests individuales\r
261 \r
262                 #region Muestra de los tests\r
263 \r
264                 private void MostrarTest( string nombre, Autorizacion a, bool exito, params object[] parametrosExtra )\r
265                 {\r
266                         string error = "******** ERROR - TEST NO SUPERADO ********";\r
267                         string ok = "******** OK - TEST SUPERADO ********";\r
268                         \r
269                         Console.WriteLine( "Test: " + nombre );\r
270 \r
271                         if ( exito )\r
272                                 Console.WriteLine( ok );\r
273                         else\r
274                                 Console.WriteLine( error );\r
275 \r
276                         Console.Write( a.ToString() );\r
277 \r
278                         foreach ( object o in parametrosExtra )\r
279                         {\r
280                                 Console.WriteLine( o.ToString() );\r
281                         }\r
282 \r
283                         Console.WriteLine();\r
284                 }\r
285 \r
286                 #endregion Muestra de los tests\r
287         }\r
288 }\r