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 = fechaResolucion;
\r
89 this.fechaVencimiento.AddMonths( 2 );
\r
90 this.fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0); //16 de mayo, 9hs
\r
92 AutorizacionManual am = this.MakeAutorizacionManual( 1, this.fechaSolicitud, this.fechaResolucion, this.aprobada,
\r
93 this.fechaRealizacion, this.fechaVencimiento );
\r
95 Autorizacion.Estado estado = am.getEstado(fecha);
\r
96 exitoso = ( estado == Autorizacion.Estado.Realizada );
\r
98 this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso );
\r
101 #endregion Tests individuales
\r
103 #region Muestra de los tests
\r
105 private void MostrarTest( string nombre, Autorizacion a, bool exito ) //, params object[] parametrosExtra )
\r
107 string error = "ERROR - TEST NO SUPERADO";
\r
108 string ok = "OK - TEST SUPERADO";
\r
110 Console.WriteLine( "Test: " + nombre );
\r
113 Console.WriteLine( ok );
\r
115 Console.WriteLine( error );
\r
117 Console.WriteLine( a.ToString() );
\r
119 //System.Reflection.ParameterInfo[] parametros = System.Reflection.MethodInfo.GetCurrentMethod().GetParameters();
\r
123 #endregion Muestra de los tests
\r