/// <summary> /// Escritura y lectura de un registro individual de la tabla Clima. /// se verifica que se obtiene el registro escrito. /// Se verifica que los valores escritos para el registro sean los ingresados. /// </summary> /// <param name="iDia"></param> /// <param name="enumTipoClima"></param> private void EscrituraLecturaTablaClimaTest(int iDia, TipoClima.enumTipoClima enumTipoClima) { string strMethod = Logger.TraceStartMethod(); bool blResultadoMetodo = true; Clima oClima; using (UOWClimaSistemaSolar unitOfWork = new UOWClimaSistemaSolar()) { unitOfWork.ClimaRepository.Create(new Clima() { dia = iDia, enumTipoClima = enumTipoClima }); unitOfWork.Commit(); oClima = unitOfWork.ClimaRepository.Retrieve(iDia); } if (oClima == null || oClima == default(Clima)) { Logger.Trace(TraceEventType.Warning, string.Format("{0}: {1}: No se obtuvo ningun registro", strMethod, TestsConstants.FALLO)); blResultadoMetodo = false; } else if (!(oClima.dia == iDia && oClima.IdTipoClima == (int)enumTipoClima)) { Logger.Trace(TraceEventType.Warning, string.Format("{4}: {5}:\n\t\tIngresado\tLeido\ndia:\t\t{0}\t\t{1}\nIdTipoClima:\t{2}\t\t{3}", iDia, oClima.dia, (int)enumTipoClima, oClima.IdTipoClima, strMethod, TestsConstants.FALLO)); blResultadoMetodo = false; } base.TraceResultMethod_EvaluaAssert(strMethod, blResultadoMetodo); }
/// <summary> /// Graba un registro en la Base de datos en la Tabla Clima. /// Realiza trace del estado de los planetas en ese momento (Si es que esta habilitada el trace en archivo de configuración). /// </summary> /// <param name="unitOfWork"></param> /// <param name="diaAbsoluto"></param> /// <param name="enumTipoClima"></param> private void GrabarClima(UOWClimaSistemaSolar unitOfWork, int diaAbsoluto, TipoClima.enumTipoClima enumTipoClima) { unitOfWork.ClimaRepository.Create(new Clima() { dia = diaAbsoluto, enumTipoClima = enumTipoClima }); unitOfWork.Commit(); TraceEstadoPlanetas(diaAbsoluto, enumTipoClima); }
/// <summary> /// Incrementa el Contador de Periodos. /// Graba un registro en la Base de datos en la Tabla Clima. /// Realiza trace del estado de los planetas en ese momento (Si es que esta habilitada el trace en archivo de configuración). /// </summary> /// <param name="diaAbsoluto"></param> /// <param name="enumTipoClima"></param> /// <param name="dicContPeriodos"></param> /// <param name="unitOfWork"></param> /// <param name="blInicioEpocaLluvia"></param> private void IncrementaContadorPeriodosGrabaClima(int diaAbsoluto, TipoClima.enumTipoClima enumTipoClima, Dictionary <TipoClima.enumTipoClima, int> dicContPeriodos, UOWClimaSistemaSolar unitOfWork, ref bool blInicioEpocaLluvia) { dicContPeriodos[enumTipoClima]++; blInicioEpocaLluvia = false; GrabarClima(unitOfWork, diaAbsoluto, enumTipoClima); }
/// <summary> /// Trace de la posicion de los planeta para un dia terminado. /// (Si es que esta habilitada el trace en archivo de configuración). /// </summary> /// <param name="diaAbsoluto"></param> /// <param name="enumTipoClima"></param> //Se puso en public para dejar expresado el test del metodo con fines de evaluacion. (en realidad deberia ser private) public void TraceEstadoPlanetas(int diaAbsoluto, TipoClima.enumTipoClima enumTipoClima) { if (Constants.TRACE_ESTADO_PLANETAS) { StringBuilder sb = new StringBuilder(); foreach (Planeta oPlaneta in Planetas) { sb.AppendLine(); sb.Append(oPlaneta.ToString()); } string strMsg = string.Format("Dia: {0} - {1} {2}", diaAbsoluto, enumTipoClima.GetName(), sb.ToString()); Logger.Trace(TraceEventType.Verbose, strMsg); } }
/// <summary> /// Test del formato de Salida del trace del estado de los planetas /// La prueba satisfactoria es mirar una salida agradable tanto en consola como al Log en archivo. /// </summary> private static void TestSalidaTraceEstadoPlanetas(int diaAbsoluto, TipoClima.enumTipoClima enumTipoClima) { new SistemaSolar().TraceEstadoPlanetas(diaAbsoluto, enumTipoClima); }