public void TieneDispositivosEncendidosTest() { cliente.Inteligentes.Add(d1); cliente.Estandars.Add(d3); d1.Encender(); Assert.IsTrue(cliente.TieneDispositivosEncendidos()); }
public void ObtenerConsumoDeUltimasNHoras_3_activacionesTest() { Inteligente dispositivo = new Inteligente("TV", 100m); decimal valor; dispositivo.Encender(); dispositivo.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro = dispositivo.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro.AddHours(-3); dispositivo.Apagar(); dispositivo.RegistroDeActivaciones.ElementAt(1).FechaDeRegistro = dispositivo.RegistroDeActivaciones.ElementAt(1).FechaDeRegistro.AddHours(-2); dispositivo.Encender(); dispositivo.RegistroDeActivaciones.ElementAt(2).FechaDeRegistro = dispositivo.RegistroDeActivaciones.ElementAt(2).FechaDeRegistro.AddHours(-1); valor = dispositivo.ObtenerConsumoDeUltimasNHoras(8); Assert.IsTrue(valor == 200m); }
public JsonResult ejecutarSimplex() { Dictionary <string, double> resultadoSimplex = ejecucionSimplex(); var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = UserManager.FindById(User.Identity.GetUserId()); SGEContext db = new SGEContext(); if (resultadoSimplex == null) { return(Json(new { success = false, error = "No se puede ejecutar el simplex" })); } BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(db); var includesCliente = new List <Expression <Func <Inteligente, object> > >() { i => i.RegistroDeActivaciones, i => i.Clientes }; Inteligente inteligente = null; foreach (KeyValuePair <string, double> item in resultadoSimplex) { if (item.Value > 0 && item.Key != "TotalHorasRestantes" && item.Key != "ConsumoRestanteTotal") { inteligente = repoInteligente.Single(i => i.Nombre == item.Key && i.Clientes.Any(c => c.NombreUsuario == user.UserName), includesCliente); inteligente.Encender(); repoInteligente.Update(inteligente); } } return(Json(new { success = true })); }
public JsonResult CambiarEstado(int idInteligente, EstadoDispositivo estado) { SGEContext context = new SGEContext(); BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(context); Inteligente inteligente = repoInteligente.Single(i => i.Id == idInteligente); inteligente.Context = context; switch (estado) { case EstadoDispositivo.AhorroEnergia: inteligente.ColocarEnAhorroEnergia(); break; case EstadoDispositivo.Apagado: inteligente.Apagar(); break; case EstadoDispositivo.Encendido: inteligente.Encender(); break; default: return(Json(new { success = false, error = "Estado desconocido" })); } repoInteligente.Update(inteligente); return(Json(new { success = true })); }
public void PasarAModoAhorroEnergia() { Inteligente Tele = new Inteligente("TV", "DDEAEA7C1ADE458991D496812D5D41FA"); Inteligente LavaRopa = new Inteligente("LAVARROPAS", "A0BA3245EAFC4EC994CC841698B835C0"); Tele.Encender(); Tele.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro = Tele.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro.AddHours(-300); LavaRopa.Encender(); LavaRopa.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro = LavaRopa.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro.AddHours(-60); List <Inteligente> lista = new List <Inteligente>(); lista.Add(Tele); lista.Add(LavaRopa); Assert.IsFalse(Tele.EstaApagado); Planificador pl = Planificador.getInstance(); pl.Iniciar(); pl.agregarTareaTest(lista, 1); Thread.Sleep(3000); pl.Detener(); Assert.IsTrue(Tele.EstaApagado); }
public void ObtenerConsumoPeriodoTest() { Inteligente dispositivo = new Inteligente("TV", 100m); decimal valor; ///TODO: el calculo de las horas está mal, en esta prueba el resultado debería ser 600m en este contexto, pero al momento de obtener ///el registro de activaciones trae solo las que iniciaron luego de las horas indicadas, sin embargo si habia un estado ///previo "encendido" pero que inicio antes de las horas indicadas no lo trae y no contabiliza las horas. No se corrige ya que se desconoce ///si esta contemplado o no, por el momento solo se cambia el valor de la prueba para que no falle dispositivo.Encender(); dispositivo.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro = dispositivo.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro.AddHours(-25); dispositivo.Apagar(); dispositivo.RegistroDeActivaciones.ElementAt(1).FechaDeRegistro = dispositivo.RegistroDeActivaciones.ElementAt(1).FechaDeRegistro.AddHours(-4); dispositivo.Encender(); dispositivo.RegistroDeActivaciones.ElementAt(2).FechaDeRegistro = dispositivo.RegistroDeActivaciones.ElementAt(2).FechaDeRegistro.AddHours(-3); dispositivo.Apagar(); dispositivo.RegistroDeActivaciones.ElementAt(3).FechaDeRegistro = dispositivo.RegistroDeActivaciones.ElementAt(3).FechaDeRegistro.AddHours(-1); valor = dispositivo.ObtenerConsumoDeUltimasNHoras(8); Assert.IsTrue(valor == 200m); }