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
53 #region Datos a usar durante las pruebas
\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
61 #endregion Datos a usar durante las pruebas
\r
64 /// Ejecuta todos los métodos de ésta clase cuyos nombres comiencen con "Test"
\r
66 public void EjecutarTodos()
\r
68 System.Reflection.MethodInfo[] metodos = typeof(TestsAutorizacion).GetMethods();
\r
69 foreach ( System.Reflection.MethodInfo metodo in metodos )
\r
71 if ( metodo.Name.Substring(0, 4) == "Test" )
\r
72 metodo.Invoke( this, null );
\r
76 #region Tests individuales
\r
78 public void Test01_Manual_Estado()
\r
80 bool exitoso = false;
\r
83 DateTime fecha = new DateTime( 2005, 5, 30, 17, 0, 0 );
\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 = this.fechaResolucion.AddMonths( 2 );
\r
89 this.fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0); //16 de mayo, 9hs
\r
91 AutorizacionManual am = this.MakeAutorizacionManual( 1, this.fechaSolicitud, this.fechaResolucion, this.aprobada,
\r
92 this.fechaRealizacion, this.fechaVencimiento );
\r
94 Autorizacion.Estado estado = am.getEstado(fecha);
\r
95 exitoso = ( estado == Autorizacion.Estado.Realizada );
\r
97 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
101 public void Test02_Manual_Estado()
\r
103 bool exitoso = false;
\r
106 DateTime fecha = new DateTime( 2005, 5, 1, 17, 0, 0 );
\r
108 this.fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0); //2 de mayo, 11hs
\r
109 this.fechaResolucion = new DateTime(2005,5,2, 18, 0, 0); //2 de mayo, 18hs
\r
110 this.aprobada = true;
\r
111 this.fechaVencimiento = this.fechaResolucion.AddMonths( 2 );
\r
112 this.fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0); //16 de mayo, 9hs
\r
114 AutorizacionManual am = this.MakeAutorizacionManual( 1, this.fechaSolicitud, this.fechaResolucion, this.aprobada,
\r
115 this.fechaRealizacion, this.fechaVencimiento );
\r
117 Autorizacion.Estado estado = am.getEstado(fecha);
\r
118 exitoso = ( estado == Autorizacion.Estado.Inexistente ); //Determinación del resultado
\r
120 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
124 public void Test03_Manual_Estado()
\r
126 bool exitoso = false;
\r
129 DateTime fecha = new DateTime( 2005, 5, 2, 17, 0, 0 );
\r
131 this.fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0); //2 de mayo, 11hs
\r
132 this.fechaResolucion = new DateTime(2005,5,2, 18, 0, 0); //2 de mayo, 18hs
\r
133 this.aprobada = true;
\r
134 this.fechaVencimiento = this.fechaResolucion.AddMonths( 2 );
\r
135 this.fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0); //16 de mayo, 9hs
\r
137 AutorizacionManual am = this.MakeAutorizacionManual( 1, this.fechaSolicitud, this.fechaResolucion, this.aprobada,
\r
138 this.fechaRealizacion, this.fechaVencimiento );
\r
140 Autorizacion.Estado estado = am.getEstado(fecha);
\r
141 exitoso = ( estado == Autorizacion.Estado.Pendiente ); //Determinación del resultado
\r
143 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
147 public void Test04_Manual_Estado()
\r
149 bool exitoso = false;
\r
151 // 10 de diciembre, 17hs
\r
152 DateTime fecha = new DateTime( 2005, 12, 10, 17, 0, 0 );
\r
154 this.fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0); //2 de mayo, 11hs
\r
155 this.fechaResolucion = new DateTime(2005,5,2, 18, 0, 0); //2 de mayo, 18hs
\r
156 this.aprobada = true;
\r
157 this.fechaVencimiento = this.fechaResolucion.AddMonths( 2 );
\r
158 this.fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0); //16 de mayo, 9hs
\r
160 AutorizacionManual am = this.MakeAutorizacionManual( 1, this.fechaSolicitud, this.fechaResolucion, this.aprobada,
\r
161 this.fechaRealizacion, this.fechaVencimiento );
\r
163 Autorizacion.Estado estado = am.getEstado(fecha);
\r
164 exitoso = ( estado == Autorizacion.Estado.Realizada ); //Determinación del resultado
\r
166 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
170 public void Test05_Manual_Estado()
\r
172 bool exitoso = false;
\r
174 // 10 de diciembre, 17hs
\r
175 DateTime fecha = new DateTime( 2005, 12, 10, 17, 0, 0 );
\r
177 this.fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0); //2 de mayo, 11hs
\r
178 this.fechaResolucion = new DateTime(2005,5,2, 18, 0, 0); //2 de mayo, 18hs
\r
179 this.aprobada = true;
\r
180 this.fechaVencimiento = this.fechaResolucion.AddMonths( 2 );
\r
181 //this.fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0); //No realizada
\r
183 AutorizacionManual am = this.MakeAutorizacionManual( 1, this.fechaSolicitud, this.fechaResolucion, this.aprobada,
\r
184 this.fechaRealizacion, this.fechaVencimiento );
\r
186 Autorizacion.Estado estado = am.getEstado(fecha);
\r
187 exitoso = ( estado == Autorizacion.Estado.Realizada ); //Determinación del resultado
\r
189 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso,
\r
193 #endregion Tests individuales
\r
195 #region Muestra de los tests
\r
197 private void MostrarTest( string nombre, Autorizacion a, bool exito, params object[] parametrosExtra )
\r
199 string error = "******** ERROR - TEST NO SUPERADO ********";
\r
200 string ok = "******** OK - TEST SUPERADO ********";
\r
202 Console.WriteLine( "Test: " + nombre );
\r
205 Console.WriteLine( ok );
\r
207 Console.WriteLine( error );
\r
209 Console.Write( a.ToString() );
\r
211 foreach ( object o in parametrosExtra )
\r
213 Console.WriteLine( o.ToString() );
\r
216 Console.WriteLine();
\r
219 #endregion Muestra de los tests
\r