2 using Dominio.Autorizaciones;
\r
7 /// Clase para testear la clase Autorizacion
\r
9 public sealed class TestsAutorizacion
\r
13 private TestsAutorizacion()
\r
17 public static TestsAutorizacion Instancia
\r
19 get { return new TestsAutorizacion(); }
\r
22 #endregion Singleton
\r
24 #region Factorys de Autorizaciones
\r
26 private AutorizacionAutomatica MakeAutorizacionAutomatica( int codigo, DateTime fechaSolicitud,
\r
27 bool aprobada, DateTime fechaRealizacion, DateTime fechaVencimiento )
\r
29 AutorizacionAutomatica a = new AutorizacionAutomatica( fechaSolicitud );
\r
31 a.Aprobada = aprobada;
\r
32 a.FechaRealizacion = fechaRealizacion;
\r
33 a.FechaVencimiento = fechaVencimiento;
\r
38 private AutorizacionManual MakeAutorizacionManual( int codigo, DateTime fechaSolicitud,
\r
39 DateTime fechaResolucion, bool aprobada, DateTime fechaRealizacion, DateTime fechaVencimiento )
\r
41 AutorizacionManual a = new AutorizacionManual( fechaSolicitud );
\r
43 a.Aprobada = aprobada;
\r
44 a.FechaResolucion = fechaResolucion;
\r
45 a.FechaRealizacion = fechaRealizacion;
\r
46 a.FechaVencimiento = fechaVencimiento;
\r
51 #endregion Factorys de Autorizaciones
\r
54 /// Ejecuta todos los métodos de ésta clase cuyos nombres comiencen con "Test"
\r
56 public void EjecutarTodos()
\r
58 System.Reflection.MethodInfo[] metodos = typeof(TestsAutorizacion).GetMethods();
\r
59 foreach ( System.Reflection.MethodInfo metodo in metodos )
\r
61 if ( metodo.Name.Substring(0, 4) == "Test" )
\r
62 metodo.Invoke( this, null );
\r
66 #region Tests individuales
\r
68 public void Test01_Manual_Estado()
\r
70 bool exitoso = false;
\r
73 DateTime fecha = new DateTime( 2005, 5, 30, 17, 0, 0 );
\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
81 AutorizacionManual am = MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada,
\r
82 fechaRealizacion, fechaVencimiento );
\r
84 Autorizacion.Estado estado = am.getEstado(fecha);
\r
85 exitoso = ( estado == Autorizacion.Estado.Realizada );
\r
87 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
91 public void Test02_Manual_Estado()
\r
93 bool exitoso = false;
\r
96 DateTime fecha = new DateTime( 2005, 5, 1, 17, 0, 0 );
\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
104 AutorizacionManual am = MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada,
\r
105 fechaRealizacion, fechaVencimiento );
\r
107 Autorizacion.Estado estado = am.getEstado(fecha);
\r
108 exitoso = ( estado == Autorizacion.Estado.Inexistente ); //Determinación del resultado
\r
110 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
114 public void Test03_Manual_Estado()
\r
116 bool exitoso = false;
\r
119 DateTime fecha = new DateTime( 2005, 5, 2, 17, 0, 0 );
\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
127 AutorizacionManual am = MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada,
\r
128 fechaRealizacion, fechaVencimiento );
\r
130 Autorizacion.Estado estado = am.getEstado(fecha);
\r
131 exitoso = ( estado == Autorizacion.Estado.Pendiente ); //Determinación del resultado
\r
133 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
137 public void Test04_Manual_Estado()
\r
139 bool exitoso = false;
\r
141 // 10 de diciembre, 17hs
\r
142 DateTime fecha = new DateTime( 2005, 12, 10, 17, 0, 0 );
\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
150 AutorizacionManual am = MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada,
\r
151 fechaRealizacion, fechaVencimiento );
\r
153 Autorizacion.Estado estado = am.getEstado(fecha);
\r
154 exitoso = ( estado == Autorizacion.Estado.Realizada ); //Determinación del resultado
\r
156 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
160 public void Test05_Manual_Estado()
\r
162 bool exitoso = false;
\r
164 // 10 de diciembre, 17hs
\r
165 DateTime fecha = new DateTime( 2005, 12, 10, 17, 0, 0 );
\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
173 AutorizacionManual am = this.MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada,
\r
174 fechaRealizacion, fechaVencimiento );
\r
176 Autorizacion.Estado estado = am.getEstado(fecha);
\r
177 exitoso = ( estado == Autorizacion.Estado.Realizada ); //Determinación del resultado
\r
179 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
183 public void Test06_Manual_Estado()
\r
185 bool exitoso = false;
\r
187 // 10 de diciembre, 17hs
\r
188 DateTime fecha = new DateTime( 2005, 12, 10, 17, 0, 0 );
\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
196 AutorizacionManual am = this.MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada,
\r
197 fechaRealizacion, fechaVencimiento );
\r
199 Autorizacion.Estado estado = am.getEstado(fecha);
\r
200 exitoso = ( estado == Autorizacion.Estado.Rechazada ); //Determinación del resultado
\r
202 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
206 public void Test07_Manual_Estado()
\r
208 bool exitoso = false;
\r
211 DateTime fecha = new DateTime( 2005, 5, 2, 12, 0, 0 );
\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
219 AutorizacionManual am = this.MakeAutorizacionManual( 1, fechaSolicitud, fechaResolucion, aprobada,
\r
220 fechaRealizacion, fechaVencimiento );
\r
222 Autorizacion.Estado estado = am.getEstado(fecha);
\r
223 exitoso = ( estado == Autorizacion.Estado.Pendiente ); //Determinación del resultado
\r
225 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
229 #endregion Tests individuales
\r
231 #region Muestra de los tests
\r
233 private void MostrarTest( string nombre, Autorizacion a, bool exito, params object[] parametrosExtra )
\r
235 string error = "******** ERROR - TEST NO SUPERADO ********";
\r
236 string ok = "******** OK - TEST SUPERADO ********";
\r
238 Console.WriteLine( "Test: " + nombre );
\r
241 Console.WriteLine( ok );
\r
243 Console.WriteLine( error );
\r
245 Console.Write( a.ToString() );
\r
247 foreach ( object o in parametrosExtra )
\r
249 Console.WriteLine( o.ToString() );
\r
252 Console.WriteLine();
\r
255 #endregion Muestra de los tests
\r