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