#region Constructores
- public Autorizacion( int codigo, DateTime fechaSolicitud )
+ public Autorizacion( DateTime fechaSolicitud )
{
#warning Ver cómo manejar los códigos con DB4O
- this.Codigo = codigo;
this.FechaSolicitud = fechaSolicitud;
}
public void setResolucion( string fundamentosResolucion, float porcentajeCobertura )
{
+ this.FundamentosResolucion = fundamentosResolucion;
+ this.PorcentajeCobertura = porcentajeCobertura;
}
+ public override string ToString()\r
+ {\r
+ string strAut = string.Empty;\r
+\r
+ strAut += "Tipo: " + this.GetType().Name + "\n";\r
+ \r
+ System.Reflection.PropertyInfo[] properties = this.GetType().GetProperties();\r
+ foreach ( System.Reflection.PropertyInfo property in properties )\r
+ {\r
+ strAut += property.Name + " = " + property.GetValue( this, null ) + "\n";\r
+ }\r
+ \r
+ return strAut;\r
+ }\r
+
+
#endregion Métodos Públicos
#region Estados de una autorización
#region Constructores
- public AutorizacionManual( int codigo, DateTime fechaSolicitud )
- : base( codigo, fechaSolicitud )
+ public AutorizacionManual( DateTime fechaSolicitud )
+ : base( fechaSolicitud )
{
}
{
#region Constructores
- public AutorizacionAutomatica( int codigo, DateTime fechaSolicitud )
- : base( codigo, fechaSolicitud )
+ public AutorizacionAutomatica( DateTime fechaSolicitud )
+ : base( fechaSolicitud )
{
}
--- /dev/null
+using System;\r
+using Dominio.Autorizaciones;\r
+\r
+namespace Tests\r
+{\r
+ /// <summary>\r
+ /// Clase para testear la clase Autorizacion\r
+ /// </summary>\r
+ public sealed class TestsAutorizacion\r
+ {\r
+ #region Singleton\r
+\r
+ private TestsAutorizacion()\r
+ {\r
+ }\r
+\r
+ public static TestsAutorizacion Instancia\r
+ {\r
+ get { return new TestsAutorizacion(); }\r
+ }\r
+\r
+ #endregion Singleton\r
+\r
+ #region Factorys de Autorizaciones\r
+\r
+ private AutorizacionAutomatica MakeAutorizacionAutomatica( int codigo, DateTime fechaSolicitud, \r
+ bool aprobada, DateTime fechaRealizacion, DateTime fechaVencimiento )\r
+ {\r
+ AutorizacionAutomatica a = new AutorizacionAutomatica( fechaSolicitud );\r
+ a.Codigo = codigo;\r
+ a.Aprobada = aprobada;\r
+ a.FechaRealizacion = fechaRealizacion;\r
+ a.FechaVencimiento = fechaVencimiento;\r
+\r
+ return a;\r
+ }\r
+\r
+ private AutorizacionManual MakeAutorizacionManual( int codigo, DateTime fechaSolicitud, \r
+ DateTime fechaResolucion, bool aprobada, DateTime fechaRealizacion, DateTime fechaVencimiento )\r
+ {\r
+ AutorizacionManual a = new AutorizacionManual( fechaSolicitud );\r
+ a.Codigo = codigo;\r
+ a.Aprobada = aprobada;\r
+ a.FechaResolucion = fechaResolucion;\r
+ a.FechaRealizacion = fechaRealizacion;\r
+ a.FechaVencimiento = fechaVencimiento;\r
+\r
+ return a;\r
+ }\r
+\r
+ #endregion Factorys de Autorizaciones\r
+\r
+ #region Datos a usar durante las pruebas\r
+\r
+ private DateTime fechaSolicitud;\r
+ private DateTime fechaResolucion;\r
+ private DateTime fechaRealizacion;\r
+ private DateTime fechaVencimiento;\r
+ private bool aprobada;\r
+\r
+ #endregion Datos a usar durante las pruebas\r
+ \r
+ /// <summary>\r
+ /// Ejecuta todos los métodos de ésta clase cuyos nombres comiencen con "Test"\r
+ /// </summary>\r
+ public void EjecutarTodos()\r
+ {\r
+ System.Reflection.MethodInfo[] metodos = typeof(TestsAutorizacion).GetMethods();\r
+ foreach ( System.Reflection.MethodInfo metodo in metodos )\r
+ {\r
+ if ( metodo.Name.Substring(0, 4) == "Test" )\r
+ metodo.Invoke( this, null );\r
+ }\r
+ }\r
+\r
+ #region Tests individuales\r
+\r
+ public void Test01_Manual_Estado()\r
+ {\r
+ bool exitoso = false;\r
+\r
+ // 30 de mayo, 17hs\r
+ DateTime fecha = new DateTime( 2005, 5, 30, 17, 0, 0 );\r
+\r
+ this.fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0); //2 de mayo, 11hs\r
+ this.fechaResolucion = new DateTime(2005,5,2, 18, 0, 0); //2 de mayo, 18hs\r
+ this.aprobada = true;\r
+ this.fechaVencimiento = fechaResolucion;\r
+ this.fechaVencimiento.AddMonths( 2 );\r
+ this.fechaRealizacion = new DateTime(2005,5,16, 9, 0, 0); //16 de mayo, 9hs\r
+\r
+ AutorizacionManual am = this.MakeAutorizacionManual( 1, this.fechaSolicitud, this.fechaResolucion, this.aprobada, \r
+ this.fechaRealizacion, this.fechaVencimiento );\r
+\r
+ Autorizacion.Estado estado = am.getEstado(fecha);\r
+ exitoso = ( estado == Autorizacion.Estado.Realizada );\r
+\r
+ this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso );\r
+ }\r
+\r
+ #endregion Tests individuales\r
+\r
+ #region Muestra de los tests\r
+\r
+ private void MostrarTest( string nombre, Autorizacion a, bool exito ) //, params object[] parametrosExtra )\r
+ {\r
+ string error = "ERROR - TEST NO SUPERADO";\r
+ string ok = "OK - TEST SUPERADO";\r
+ \r
+ Console.WriteLine( "Test: " + nombre );\r
+\r
+ if ( exito )\r
+ Console.WriteLine( ok );\r
+ else\r
+ Console.WriteLine( error );\r
+\r
+ Console.WriteLine( a.ToString() );\r
+\r
+ //System.Reflection.ParameterInfo[] parametros = System.Reflection.MethodInfo.GetCurrentMethod().GetParameters();\r
+ //parametros[2].\r
+ }\r
+\r
+ #endregion Muestra de los tests\r
+ }\r
+}\r