public void ConvertirDEaDIyCambioState_test() { using (var db = new DBContext()) { //Arrenge var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "ConvertirDEaDIyCambioState", "asdqwe123", "12345678", "dni", "12345678"); cliente.AgregarALaBase(); var tvsamsung = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90); cliente.AgregarDispEstandar(tvsamsung); cliente.AdaptarDispositivo(tvsamsung, "HP"); var DBdispInt1 = db.Dispositivos.First(x => x.UsuarioID == cliente.UsuarioID && x.Codigo == "0014" && x.EsInteligente == true); //Act var adaptadorSamsung = new AdaptadorSamsung(DBdispInt1.DispositivoID); adaptadorSamsung.Encender(); var ultimoEstado = db.Estados.Find(adaptadorSamsung.IDUltimoEstado); //Assert Assert.AreEqual(true, DBdispInt1.EsInteligente); Assert.AreEqual("Encendido", ultimoEstado.Desc); } }
public void ConvertirDEaDIyCambioState_test() { using (var db = new DBContext()) { //Arrenge var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "ConvertirDEaDIyCambioState", "asdqwe123", "12345678", "dni", "12345678"); cliente.TransformadorID = 1; //necesita un id si o si db.Usuarios.Add(cliente); db.SaveChanges(); var cliente1 = new Cliente(cliente.Username); var tvsamsung = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90); tvsamsung.UsuarioID = cliente1.UsuarioID; db.Dispositivos.Add(tvsamsung); db.SaveChanges(); var dispEst1 = new DispositivoEstandar(tvsamsung.DispositivoID); cliente1.AdaptarDispositivo(dispEst1, "Samsung"); var DBdispInt1 = db.Dispositivos.First(x => x.UsuarioID == cliente1.UsuarioID && x.Codigo == "0014" && x.EsInteligente == true); var dispInt1 = new DispositivoInteligente(DBdispInt1.DispositivoID); //Act dispInt1.Encender(); var ultimoEstado = db.Estados.Find(dispInt1.IDUltimoEstado); //Assert Assert.AreEqual(true, DBdispInt1.EsInteligente); Assert.AreEqual("Encendido", ultimoEstado.Desc); } }
public ActionResult DetallesEstandar(SubmitViewModel model, int id) { DispositivoEstandar d = new DispositivoEstandar(id); d.setHorasXDia(model.HorasEstandar); ViewBag.horas = d.HorasXDia; return(View(new DispositivoEstandar(id))); }
public double ConsumoDispositivosEstandar(int periodo) { double consumo = 0; foreach (var disp in dispositivos) { if (disp.GetType() == typeof(DispositivoEstandar)) { DispositivoEstandar d = (DispositivoEstandar)disp; consumo += d.CalcularConsumoMensual(periodo); } } return(consumo); }
public ActionResult AgregarDispositivoClie(SubmitViewModel model) { //Agrega el nuevo dispositivo al usuario string codigo = model.DispositivoSeleccionado; Cliente c = new Cliente(User.Identity.GetUserName()); if (DispositivosTotales.EsInteligente(codigo)) { DispositivoInteligente disp = DispositivosTotales.EncontrarDispositivoInteligente(codigo); c.AgregarDispInteligente(disp); } else { DispositivoEstandar disp = DispositivosTotales.EncontrarDispositivoEstandard(codigo); c.AgregarDispEstandar(disp); } return(RedirectToAction("DispositivosPropios", "Home")); }
public void Simplex_Test() { using (var db = new DBContext()) { //Arrenge var recomendacion = Recomendacion.Instancia(); var simplex = SimplexHelper.Instancia(); var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "WebService_test", "asdqwe123", "12345678", "dni", "12345678"); //cliente.TransformadorID = 1; //necesita un id si o si db.Usuarios.Add(cliente); db.SaveChanges(); var Lampara60W = new DispositivoInteligente("lampara halogena de 60 W", "0011", 0.06, 360, 90); Lampara60W.UsuarioID = cliente.UsuarioID; db.Dispositivos.Add(Lampara60W); db.SaveChanges(); var microondas = new DispositivoEstandar("microondas convencional", "0011", 0.64, 0, 15, 3); microondas.UsuarioID = cliente.UsuarioID; db.Dispositivos.Add(microondas); db.SaveChanges(); var televisor40 = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90); televisor40.UsuarioID = cliente.UsuarioID; db.Dispositivos.Add(televisor40); db.SaveChanges(); var lavarropa = new DispositivoEstandar("lavarropas automatico de 5kg con calentamiento", "0021", 0.875, 0, 30, 6); lavarropa.UsuarioID = cliente.UsuarioID; db.Dispositivos.Add(lavarropa); db.SaveChanges(); //Act var resultado = recomendacion.GenerarRecomendacion(cliente); //Assert Assert.AreEqual("[765.0, 15.0, 360.0, 30.0, 360.0]", resultado); } }
public void RecomendacionesDelCliente() { using (var db = new DBContext()) { //Arrenge var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "RecomendacionesDelCliente_test", "asdqwe123", "12345678", "dni", "12345678"); //cliente.TransformadorID = 1; //necesita un id si o si db.Usuarios.Add(cliente); db.SaveChanges(); var Lampara60W = new DispositivoInteligente("lampara halogena de 60 W", "0011", 0.06, 360, 90); cliente.AgregarDispInteligente(Lampara60W); var microondas = new DispositivoEstandar("microondas convencional", "0011", 0.64, 0, 15, 3); cliente.AgregarDispEstandar(microondas); var televisor40 = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90); cliente.AgregarDispEstandar(televisor40); var lavarropa = new DispositivoEstandar("lavarropas automatico de 5kg con calentamiento", "0021", 0.875, 0, 30, 6); cliente.AgregarDispEstandar(lavarropa); //Act var RecomendacionXDispositivos = cliente.SolicitarRecomendacion(); //Assert //Assert.AreEqual("Valor independiente", RecomendacionXDispositivos[0].NombreDispositivo); Assert.AreEqual("lampara halogena de 60 W", RecomendacionXDispositivos[1].NombreDispositivo); Assert.AreEqual("microondas convencional", RecomendacionXDispositivos[2].NombreDispositivo); Assert.AreEqual("televisor LCD de 40 pulgadas", RecomendacionXDispositivos[3].NombreDispositivo); Assert.AreEqual("lavarropas automatico de 5kg con calentamiento", RecomendacionXDispositivos[4].NombreDispositivo); //Assert.AreEqual(765, RecomendacionXDispositivos[0].KWxHoraPuedeConsumir); Assert.AreEqual(15, RecomendacionXDispositivos[1].KWxHoraPuedeConsumir); Assert.AreEqual(360, RecomendacionXDispositivos[2].KWxHoraPuedeConsumir); Assert.AreEqual(30, RecomendacionXDispositivos[3].KWxHoraPuedeConsumir); Assert.AreEqual(360, RecomendacionXDispositivos[4].KWxHoraPuedeConsumir); } }
public double ConsumoPorTransformador(int periodo, Transformador transformador) { double consumo = 0; List <Dispositivo> dispos = new List <Dispositivo>(); foreach (Cliente cliente in transformador.Clientes) { dispos = DispositivoHandler.GetDispositivosByUsuarioID(cliente.UsuarioID); foreach (var disp in dispositivos) { if (disp.GetType() == typeof(DispositivoEstandar)) { DispositivoEstandar d = (DispositivoEstandar)disp; consumo += d.CalcularConsumoMensual(periodo); } else if (disp.GetType() == typeof(DispositivoInteligente)) { DispositivoInteligente d = (DispositivoInteligente)disp; consumo += d.EnergiaConsumidaEnPeriodo(periodo); } } } return(consumo); }
protected override void Seed(TP_Integrador.Data.ContextoDB context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. Cliente ClienteDePrueba = new Cliente(1, "NomUs", "LaPass", "Prueba", "Prueba", "Prueba", "DNI", "40000000", "4000000"); using (var db = new ContextoDB()) { DispositivoInteligente aire3500 = new DispositivoInteligente("Aire Acondicionado 3500", 1.613, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente aire2200 = new DispositivoInteligente("Aire Acondicionado 2200", 1.013, ClienteDePrueba, new FabricanteDePrueba()); DispositivoEstandar tvTubo21 = new DispositivoEstandar("TV Tubo Fluorescente 21'", 0.075, ClienteDePrueba); DispositivoEstandar tvTubo29a34 = new DispositivoEstandar("TV Tubo Fluorescente 29' a 34'", 0.175, ClienteDePrueba); DispositivoEstandar tvLCD = new DispositivoEstandar("TV LCD 40'", 0.18, ClienteDePrueba); DispositivoInteligente tvLED24 = new DispositivoInteligente("TV LED 24'", 0.04, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente tvLED32 = new DispositivoInteligente("TV LED 32'", 0.055, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente tvLED40 = new DispositivoInteligente("TV LED 40'", 0.08, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente heladeraConFreezer = new DispositivoInteligente("Heladera Con Freezer", 0.09, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente heladeraSinFreezer = new DispositivoInteligente("Heladera Sin Freezer", 0.075, ClienteDePrueba, new FabricanteDePrueba()); DispositivoEstandar lavarropasAutoCCalentamiento = new DispositivoEstandar("Lavarropas automático de 5kg con calentamiento de agua", 0.875, ClienteDePrueba); DispositivoInteligente lavarropasAutomatico = new DispositivoInteligente("Lavarropas automático de 5kg", 0.175, ClienteDePrueba, new FabricanteDePrueba()); DispositivoEstandar lavaropasSemiAuto = new DispositivoEstandar("Lavarropas semiautomático de 5kg", 0.1275, ClienteDePrueba); DispositivoEstandar ventiladorPie = new DispositivoEstandar("Ventilador de pie", 0.09, ClienteDePrueba); DispositivoInteligente ventiladorTecho = new DispositivoInteligente("Ventilador de techo", 0.06, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente lamparaHalo40W = new DispositivoInteligente("Lampara Halogena de 40W", 0.04, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente lamparaHalo60W = new DispositivoInteligente("Lampara Halogena de 60W", 0.06, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente lamparaHalo100W = new DispositivoInteligente("Lampara Halogena de 100W", 0.015, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente lampara11W = new DispositivoInteligente("Lampara de 11W", 0.011, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente lampara15W = new DispositivoInteligente("Lampara de 15W", 0.015, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente lampara20W = new DispositivoInteligente("Lampara de 20W", 0.02, ClienteDePrueba, new FabricanteDePrueba()); DispositivoInteligente pcEscritorio = new DispositivoInteligente("PC de escritorio", 0.4, ClienteDePrueba, new FabricanteDePrueba()); DispositivoEstandar microondas = new DispositivoEstandar("Microondas convencional", 0.64, ClienteDePrueba); db.Dispositivos.Add(aire2200); db.Dispositivos.Add(aire3500); db.Dispositivos.Add(tvTubo21); db.Dispositivos.Add(tvTubo29a34); db.Dispositivos.Add(tvLCD); db.Dispositivos.Add(tvLED24); db.Dispositivos.Add(tvLED32); db.Dispositivos.Add(tvLED40); db.Dispositivos.Add(heladeraConFreezer); db.Dispositivos.Add(heladeraSinFreezer); db.Dispositivos.Add(lavarropasAutoCCalentamiento); db.Dispositivos.Add(lavarropasAutomatico); db.Dispositivos.Add(lavaropasSemiAuto); db.Dispositivos.Add(ventiladorPie); db.Dispositivos.Add(ventiladorTecho); db.Dispositivos.Add(lamparaHalo40W); db.Dispositivos.Add(lamparaHalo60W); db.Dispositivos.Add(lamparaHalo100W); db.Dispositivos.Add(lampara11W); db.Dispositivos.Add(lampara15W); db.Dispositivos.Add(lampara20W); db.Dispositivos.Add(pcEscritorio); db.Dispositivos.Add(microondas); db.SaveChanges(); } }
public void AccionesAutomatica_Test() { using (var db = new DBContext()) { //Arrenge var InstanciaRec = Recomendacion.Instancia(); var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "AccionesAutomaticaON_Test", "asdqwe123", "12345678", "dni", "12345678"); cliente.TransformadorID = 1; //necesita un id si o si db.Usuarios.Add(cliente); db.SaveChanges(); cliente.AccionAutomaticaON(); var cliente2 = new Cliente("Luciano", "Panizza", "Medrano951", "AccionesAutomaticaOFF_Test", "asdqwe123", "12345678", "dni", "12345678"); cliente2.TransformadorID = 1; //necesita un id si o si db.Usuarios.Add(cliente2); db.SaveChanges(); var tvAire24LEd = new DispositivoInteligente("televisor LED de 24 pulgadas", "0015", 0.04, 365, 90); tvAire24LEd.UsuarioID = cliente.UsuarioID; db.Dispositivos.Add(tvAire24LEd); db.SaveChanges(); var microondas = new DispositivoEstandar("microondas convencional", "0011", 0.64, 0, 15, 3); microondas.UsuarioID = cliente.UsuarioID; db.Dispositivos.Add(microondas); db.SaveChanges(); var televisor40 = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90); televisor40.UsuarioID = cliente.UsuarioID; db.Dispositivos.Add(televisor40); db.SaveChanges(); var lavarropa = new DispositivoEstandar("lavarropas automatico de 5kg con calentamiento", "0021", 0.875, 0, 30, 6); lavarropa.UsuarioID = cliente.UsuarioID; db.Dispositivos.Add(lavarropa); db.SaveChanges(); tvAire24LEd.AgregarEstado(new Apagado(tvAire24LEd) { FechaInicial = DateTime.Now.AddHours(-500), FechaFinal = DateTime.Now.AddHours(-370) }); tvAire24LEd.AgregarEstado(new Encendido(tvAire24LEd) { FechaInicial = DateTime.Now.AddHours(-370) }); var tvAire24LEd2 = new DispositivoInteligente("televisor LED de 24 pulgadas", "0015", 0.04, 365, 90); tvAire24LEd2.UsuarioID = cliente2.UsuarioID; db.Dispositivos.Add(tvAire24LEd2); db.SaveChanges(); var microondas2 = new DispositivoEstandar("microondas convencional", "0011", 0.64, 0, 15, 3); microondas2.UsuarioID = cliente2.UsuarioID; db.Dispositivos.Add(microondas2); db.SaveChanges(); var televisor402 = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90); televisor402.UsuarioID = cliente2.UsuarioID; db.Dispositivos.Add(televisor402); db.SaveChanges(); var lavarropa2 = new DispositivoEstandar("lavarropas automatico de 5kg con calentamiento", "0021", 0.875, 0, 30, 6); lavarropa2.UsuarioID = cliente2.UsuarioID; db.Dispositivos.Add(lavarropa2); db.SaveChanges(); tvAire24LEd2.AgregarEstado(new Apagado(tvAire24LEd2) { FechaInicial = DateTime.Now.AddHours(-500), FechaFinal = DateTime.Now.AddHours(-370) }); tvAire24LEd2.AgregarEstado(new Encendido(tvAire24LEd2) { FechaInicial = DateTime.Now.AddHours(-370) }); //Act InstanciaRec.EjecutarRecomendacion(); var DI = new DispositivoInteligente(tvAire24LEd.DispositivoID); var ultEst = db.Estados.Find(DI.IDUltimoEstado); var DI2 = new DispositivoInteligente(tvAire24LEd2.DispositivoID); var ultEst2 = db.Estados.Find(DI2.IDUltimoEstado); //Assert //Assert.AreEqual("[770.0, 15.0, 360.0, 30.0, 365.0]", resultado); Assert.AreEqual("Apagado", ultEst.Desc); Assert.IsTrue(DI.EstaApagado()); Assert.AreEqual("Encendido", ultEst2.Desc); Assert.IsTrue(DI2.EstaEncendido()); } }