]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Tests/TestsAutorizacion.cs
* Limpieza en Main.cs de codigo de prueba viejo
[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                 #region Datos a usar durante las pruebas\r
54 \r
55                 private DateTime fechaSolicitud;\r
56                 private DateTime fechaResolucion;\r
57                 private DateTime fechaRealizacion;\r
58                 private DateTime fechaVencimiento;\r
59                 private bool aprobada;\r
60 \r
61                 #endregion Datos a usar durante las pruebas\r
62                 \r
63                 /// <summary>\r
64                 /// Ejecuta todos los métodos de ésta clase cuyos nombres comiencen con "Test"\r
65                 /// </summary>\r
66                 public void EjecutarTodos()\r
67                 {\r
68                         System.Reflection.MethodInfo[] metodos = typeof(TestsAutorizacion).GetMethods();\r
69                         foreach ( System.Reflection.MethodInfo metodo in metodos )\r
70                         {\r
71                                 if ( metodo.Name.Substring(0, 4) == "Test" )\r
72                                         metodo.Invoke( this, null );\r
73                         }\r
74                 }\r
75 \r
76                 #region Tests individuales\r
77 \r
78                 public void Test01_Manual_Estado()\r
79                 {\r
80                         bool exitoso = false;\r
81 \r
82                         // 30 de mayo, 17hs\r
83                         DateTime fecha = new DateTime( 2005, 5, 30, 17, 0, 0 );\r
84 \r
85                         this.fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0);         //2 de mayo, 11hs\r
86                         this.fechaResolucion = new DateTime(2005,5,2, 18, 0, 0);        //2 de mayo, 18hs\r
87                         this.aprobada = true;\r
88                         this.fechaVencimiento = fechaResolucion;\r
89                         this.fechaVencimiento.AddMonths( 2 );\r
90                         this.fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0);       //16 de mayo, 9hs\r
91 \r
92                         AutorizacionManual am = this.MakeAutorizacionManual( 1, this.fechaSolicitud, this.fechaResolucion, this.aprobada, \r
93                                 this.fechaRealizacion, this.fechaVencimiento );\r
94 \r
95                         Autorizacion.Estado estado = am.getEstado(fecha);\r
96                         exitoso = ( estado == Autorizacion.Estado.Realizada );\r
97 \r
98                         this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso );\r
99                 }\r
100 \r
101                 #endregion Tests individuales\r
102 \r
103                 #region Muestra de los tests\r
104 \r
105                 private void MostrarTest( string nombre, Autorizacion a, bool exito ) //, params object[] parametrosExtra )\r
106                 {\r
107                         string error = "ERROR - TEST NO SUPERADO";\r
108                         string ok = "OK - TEST SUPERADO";\r
109                         \r
110                         Console.WriteLine( "Test: " + nombre );\r
111 \r
112                         if ( exito )\r
113                                 Console.WriteLine( ok );\r
114                         else\r
115                                 Console.WriteLine( error );\r
116 \r
117                         Console.WriteLine( a.ToString() );\r
118 \r
119                         //System.Reflection.ParameterInfo[] parametros = System.Reflection.MethodInfo.GetCurrentMethod().GetParameters();\r
120                         //parametros[2].\r
121                 }\r
122 \r
123                 #endregion Muestra de los tests\r
124         }\r
125 }\r