示例#1
0
        public async Task Iniciar_SemFuncaoPorArquivo_EntradaAquecida()
        {
            try {
                new FileService().RegisterService();
            }
            catch (ServicoJaRegistradoException) { }

            var FS = ServiceLocator.Get <IFileService>();

            var microondas = new Microondas();

            var tempo    = new TimeSpan(0, 0, 2);
            var potencia = 2;
            var entrada  = "teste";

            FS.Salvar(FS.GetExePath("arquivo.txt"), entrada);

            var funcao = new FuncaoMicroondas(potencia, tempo);

            await microondas.Iniciar(funcao, FS.GetExePath("arquivo.txt"));

            var arqValor = FS.Carregar(FS.GetExePath("arquivo.txt"));

            Assert.AreEqual(arqValor, entrada + "....");
        }
示例#2
0
        public MainWindowViewModel()
        {
            Entrada       = "";
            Tempo         = "0:00";
            Potencia      = "10";
            isLigado      = false;
            filtroFuncoes = "";

            this.IniciarCommand       = new IniciarCommand(this);
            this.IniciarFuncaoCommand = new IniciarFuncaoCommand(this);
            this.InicioRapidoCommand  = new InicioRapidoCommand(this);
            this.CancelarCommand      = new CancelarCommand(this);
            this.ContinuarCommand     = new ContinuarCommand(this);
            this.PausarCommand        = new PausarCommand(this);
            this.ConsultarCommand     = new ConsultarCommand(this);

            microondas = new Microondas();
            microondas.PausarChanged        += PausarChanged;
            microondas.TempoRestanteChanged += TempoRestanteChanged;
            microondas.Concluido            += ConcluidoAquecimento;
            microondas.Cancelado            += CanceladoAquecimento;
            microondas.Erro += ExibirErro;

            CVFuncoes        = CollectionViewSource.GetDefaultView(microondas.Funcoes);
            CVFuncoes.Filter = FiltrarFuncoes;
        }
示例#3
0
        public void SalvarCarregarFuncoesLocalmente_UmaFuncao_FuncaoCarregada()
        {
            try
            {
                new FileService().RegisterService();
            }
            catch (ServicoJaRegistradoException) { }
            var FS = ServiceLocator.Get <IFileService>();

            FS.Deletar(FS.GetExePath("funcoes.json"));

            var microondas = new Microondas();

            var potencia  = 3;
            var tempo     = new TimeSpan(0, 0, 12);
            var nome      = "teste";
            var instrucao = "instrucao test";
            var caractere = '@';
            var alimento  = "alimento";

            microondas.CadastrarFuncao(potencia, tempo, nome, instrucao, caractere, alimento);

            microondas.SalvarFuncoesCadastradas();

            microondas.CarregarFuncoesCadastradas();

            var funcao = microondas.Funcoes.FirstOrDefault(f =>
                                                           f.Nome == nome && f.Instrucao == instrucao &&
                                                           f.Potencia == potencia && TimeSpan.Equals(f.Tempo, tempo) &&
                                                           f.Caractere == caractere && f.Alimento == alimento);

            Assert.IsNotNull(funcao);
        }
示例#4
0
 public void SetMicroondas(Microondas microondas)
 {
     this.microondas  = microondas;
     FiltroAlimento   = "";
     CVFuncoes        = CollectionViewSource.GetDefaultView(this.microondas.Funcoes);
     CVFuncoes.Filter = FiltrarFuncoes;
 }
        public ActionResult Index()
        {
            Microondas M;

            if (Session["microondas"] == null) // primeira inicialização do microondas, instanciar + atribuir programas pré estabelecidos
            {
                List <Programa> programas = new List <Programa>();

                Programa pro = new Programa();
                pro.nome       = "Frango";
                pro.tempo      = 90;
                pro.instrucoes = "Programa utilizado para preparo e descongelamento de Frangos";
                pro.potencia   = 7;
                pro.caractere  = 'F';
                pro.original   = true;
                programas.Add(pro);

                pro            = new Programa();
                pro.nome       = "Peixe";
                pro.tempo      = 45;
                pro.instrucoes = "Programa utilizado para preparo e descongelamento de Peixes";
                pro.potencia   = 6;
                pro.caractere  = 'P';
                pro.original   = true;
                programas.Add(pro);

                pro            = new Programa();
                pro.nome       = "Carne";
                pro.tempo      = 100;
                pro.instrucoes = "Programa utilizado para preparo e descongelamento de Carnes Vermelhas";
                pro.potencia   = 10;
                pro.caractere  = 'C';
                pro.original   = true;
                programas.Add(pro);

                pro            = new Programa();
                pro.nome       = "Descongelar";
                pro.tempo      = 120;
                pro.instrucoes = "Programa utilizado para descongelamento de alimentos em geral";
                pro.potencia   = 8;
                pro.caractere  = 'D';
                pro.original   = true;
                programas.Add(pro);

                pro            = new Programa();
                pro.nome       = "Cozinhar";
                pro.tempo      = 110;
                pro.instrucoes = "Programa utilizado para cozimento de alimentos";
                pro.potencia   = 9;
                pro.caractere  = '*';
                pro.original   = true;
                programas.Add(pro);

                M = new Microondas(0, 0, 0, false, "", programas, -1);
                Session["microondas"] = M;
            }
            return(View());
        }
示例#6
0
        public void IgualdadMicroondas_Ok()
        {
            Microondas m1 = new Microondas(5555, EficienciaEnergetica.A, ETamanio.Chico);
            Microondas m2 = new Microondas(5555, EficienciaEnergetica.A, ETamanio.Chico);

            bool res = m1 == m2;

            Assert.IsTrue(res);
        }
示例#7
0
        public void IgualdadMicroondas_False()
        {
            Microondas m1 = new Microondas(5555, EficienciaEnergetica.A, ETamanio.Chico);
            Microondas m2 = new Microondas(7777, EficienciaEnergetica.B, ETamanio.Grande);

            bool res = m1 == m2;

            Assert.IsFalse(res);
        }
示例#8
0
        static void Main(string[] args)
        {
            Microondas microondas = new Microondas();

            microondas.LigarMicroondas();



            Console.ReadLine();
        }
示例#9
0
        public void AssarUmSegundo()
        {
            string _prato = "frango";

            Microondas _microondas = new Microondas(_prato, 1, 5);

            _microondas.CozinhaUmSegundo("F");

            _prato = "frangoFFFFF";
            Assert.AreEqual(_prato, _microondas.Prato);
        }
示例#10
0
        public void Deve_retornar_verdadeiro_quando_potencia_informada_menor_que_1()
        {
            var tempoMinimo = new TimeSpan(0, 0, 1);
            var tempoMaximo = new TimeSpan(0, 1, 0);

            var tempo = new Microondas(MicroondasOperacao.Cozimento, new Tempo(tempoMinimo, tempoMaximo), MicroondasStatus.EmFuncionamento, 0);

            tempo.Validar();

            Assert.IsTrue(tempo.Notifications.Any());
        }
示例#11
0
        public void Deve_retornar_falso_quando_tempo_informado_corretamente()
        {
            var tempoMinimo = new TimeSpan(0, 0, 1);
            var tempoMaximo = new TimeSpan(0, 1, 0);

            var tempo = new Microondas(MicroondasOperacao.Cozimento, new Tempo(tempoMinimo, tempoMaximo), MicroondasStatus.EmFuncionamento, 1);

            tempo.Validar();

            Assert.IsFalse(tempo.Notifications.Any());
        }
示例#12
0
        public void Deve_retornar_lista_quando_preenchida()
        {
            var microondas = new Microondas();
            var lista      = microondas.ObterProgramasPreDefinidos();

            var preDefinidosResults = lista.ToList();

            _repositoryMock.Setup(x => x.ObterProgramasPreDefinidos())
            .Returns(preDefinidosResults);

            Assert.AreEqual(preDefinidosResults, preDefinidosResults);
        }
示例#13
0
        // Botão Iniciar
        private void btnInicia_Click(object sender, EventArgs e)
        {
            try
            {
                // Se textBox vazio recebe zero
                if (txtBoxString.TextLength <= 0)
                {
                    txtBoxString.Text = "0";
                }



                // verifica valores de entradas, para recebe valor de cozimento padrão ou programa
                if ((int.TryParse(txtBoxString.Text, out var TempNumero)))
                {
                    // Verificar se é tempo padrão
                    if (TempNumero == 0)
                    {
                        microondas.Potencia      = 8;
                        microondas.Segundos      = 30;
                        microondas.Identificacao = ".";
                    }
                    else
                    {
                        microondas.Potencia      = Convert.ToInt32(numPotencia.Value);
                        microondas.Segundos      = TempNumero;
                        microondas.Identificacao = ".";
                    }
                }
                else
                {
                    // Verica programa de aquecimento
                    if (var1_microondas.Find(m => m.Nome.Equals(txtBoxString.Text)) == null)
                    {
                        throw new NullReferenceException("alimento incompatível com o programa.");
                    }
                    else
                    {
                        microondas = var1_microondas.Find(m => m.Nome.Equals(txtBoxString.Text));
                    }
                }



                txtBoxString.Text = Convert.ToString(microondas.Segundos);
                numPotencia.Value = microondas.Potencia;

                ValidaDados();
                lbCronometro.Text      = txtBoxString.Text;
                btnIniciaPausa.Enabled = true;
                microondas.Inciar();
            }
示例#14
0
        public async Task InicioRapido_EntradaAquecidaAsync()
        {
            var microondas = new Microondas();
            var entrada    = "teste";

            await microondas.InicioRapido(entrada);

            Assert.AreEqual(microondas.EntradaAquecida, entrada +
                            "........................................................" +
                            "........................................................" +
                            "........................................................" +
                            "........................................................" +
                            "................");
        }
示例#15
0
    // Start is called before the first frame update
    void Start()
    {
        Climitacion[] producto = new Climitacion[4];

        Refrigeracion[] frio = new Refrigeracion[3];

        Estufas estufa = new Estufas("Estufa" + ":" + "ETM - 32", 139.00f, "Miray");


        Microondas Micro = new Microondas("Horno microondas" + ":" + "LG MH8296DIR", 649.00f, "LG");


        Termas_y_calentadores Terma = new Termas_y_calentadores("Terma a gas" + ":" + " SOLEGASN05V2C", 649.00f, "Sole");


        Termas_y_calentadores calent = new Termas_y_calentadores("Calentador a gas" + ":" + "Compact 2 14Lt GLP Bat + Kit", 1789.00f, "Bosch");


        Refrigeradora refri = new Refrigeradora("Refrigeradora" + ":" + "RM-168H Eurofrío 168L", 799.00f, "Miray");


        Congeladora conge = new Congeladora("Congeladora" + ":" + "OS-PCF11002SE 316L", 1549.00f, "Oster");

        Frigobar frigo = new Frigobar("Frigobar" + ":" + "OSPMB91WF 91L", 549.00f, "Oster");

        producto[0] = estufa;
        producto[1] = Micro;
        producto[2] = Terma;
        producto[3] = calent;
        frio[0]     = refri;
        frio[1]     = conge;
        frio[2]     = frigo;

        for (int i = 0; i < producto.Length; i++)
        {
            Debug.Log("--------------------");

            Debug.Log("Climitación" + ":");

            Debug.Log(producto[i].modelo + " - " + producto[i].marca + " - " + producto[i].precio);
        }
        for (int i = 0; i < frio.Length; i++)
        {
            Debug.Log("--------------------");

            Debug.Log("Refrigeración" + ":");

            Debug.Log(frio[i].modelo + " - " + frio[i].marca + " - " + frio[i].precio);
        }
    }
示例#16
0
        public async Task Iniciar_ComFuncao_EntradaAquecidaAsync()
        {
            var microondas = new Microondas();

            var tempo    = new TimeSpan(0, 0, 2);
            var potencia = 3;
            var entrada  = "teste";

            var funcao = new FuncaoMicroondas(potencia, tempo);

            await microondas.Iniciar(funcao, entrada);

            Assert.AreEqual(microondas.EntradaAquecida, entrada + "......");
        }
示例#17
0
        public void Deve_retonar_falso_quando_inicio_rapido_informado()
        {
            var microondas = new Microondas(MicroondasOperacao.Cozimento,
                                            new Tempo(new TimeSpan(0, 0, 1),
                                                      new TimeSpan(0, 2, 0)),
                                            MicroondasStatus.EmFuncionamento,
                                            10);

            microondas.InicioRapido(10, new TimeSpan(0, 1, 0));

            microondas.Validar();

            Assert.IsFalse(microondas.Notifications.Any());
        }
示例#18
0
        public async Task CancelarInicioRapido_Cancelado_EntradaAquecidaParcialmenteAsync()
        {
            var microondas = new Microondas();
            var entrada    = "teste";

            var inicioRapidoTask = microondas.InicioRapido(entrada);

            await Task.Delay(2100);

            microondas.Cancelar();
            await inicioRapidoTask;

            Assert.AreEqual(microondas.EntradaAquecida, entrada +
                            "................");
        }
示例#19
0
        public void ControlSeguridadMicroondas_Lleno()
        {
            int maximo = 2;
            ControlSeguridad <Microondas> control = new ControlSeguridad <Microondas>(maximo);

            Microondas m1 = new Microondas(5555, EficienciaEnergetica.A, ETamanio.Chico);
            Microondas m2 = new Microondas(4444, EficienciaEnergetica.A, ETamanio.Grande);
            Microondas m3 = new Microondas(8888, EficienciaEnergetica.D, ETamanio.Mediano);

            Assert.IsTrue(control.Agregar(m1));
            Assert.IsTrue(control.Agregar(m2));
            Assert.IsFalse(control.Agregar(m3));

            Assert.AreEqual(maximo, control.lista.Count);
        }
示例#20
0
        public void Deve_retonar_falso_quando_contrutor_tempo_potencia_informado()
        {
            var microondas = new Microondas(MicroondasOperacao.Cozimento,
                                            new Tempo(new TimeSpan(0, 0, 1),
                                                      new TimeSpan(0, 2, 0)),
                                            MicroondasStatus.EmFuncionamento,
                                            10);

            var microondas2 = new Microondas(10, new TimeSpan(0, 1, 0));

            var tempoInformado = microondas2.TempoInformado;

            var microondas3 = new Microondas();

            microondas.Validar();

            Assert.IsFalse(microondas.Notifications.Any());
        }
示例#21
0
        public void CadastrarFuncao_FuncaoCadastradaSemArquivo_FuncaoEncontrada()
        {
            var microondas = new Microondas();

            var potencia  = 3;
            var tempo     = new TimeSpan(0, 0, 12);
            var nome      = "teste";
            var instrucao = "instrucao test";
            var caractere = '@';
            var alimento  = "alimento";

            microondas.CadastrarFuncao(potencia, tempo, nome, instrucao, caractere, alimento, false);

            var funcao = microondas.Funcoes.FirstOrDefault(f =>
                                                           f.Nome == nome && f.Instrucao == instrucao &&
                                                           f.Potencia == potencia && TimeSpan.Equals(f.Tempo, tempo) &&
                                                           f.Caractere == caractere && f.Alimento == alimento);

            Assert.IsNotNull(funcao);
        }
示例#22
0
        public ActionResult Executar(Programa programa, string alimento)
        {
            bool   success  = false;
            string mensagem = "";

            if (string.IsNullOrEmpty(alimento.Trim()))
            {
                ModelState.AddModelError(string.Empty, "Informe o alimento");
                mensagem += "Informe o alimento";
            }

            if (ModelState.IsValid)
            {
                try
                {
                    Microondas microondas = Microondas.Instance();
                    if (!microondas.Executar(programa.nome, alimento))
                    {
                        ModelState.AddModelError(string.Empty, "Alimento incompatível com o programa selecionado");
                        mensagem += "Alimento incompatível com o programa selecionado";
                    }
                    else
                    {
                        success = true;
                    }
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(string.Empty, "Houve um erro ao tentar aquecer");
                    mensagem += "Houve um erro ao tentar aquecer";
                }
            }

            var resultado = new
            {
                success = success,
                result  = mensagem
            };

            return(Json(resultado));
        }
示例#23
0
        public ActionResult NovoPrograma(Programa programa)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Microondas microondas = Microondas.Instance();
                    microondas.Adicionar(new Programa(
                                             programa.nome,
                                             programa.instrucao,
                                             programa.tempo,
                                             programa.potencia,
                                             programa.caracter
                                             ));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(string.Empty, "Houve um erro ao tentar adicionar o novo programa");
                }
            }

            return(View("Index", ListarProgramas()));
        }
示例#24
0
        static void Main(string[] args)
        {
            Persona persona = new Persona(1765432101, "Mateo", "Beltran", 0987654321, "*****@*****.**");

            Console.WriteLine($"Nro. Cedula: {persona.Id}");
            Console.WriteLine($"Nombre: {persona.Nombre} {persona.Apellido}");
            Console.WriteLine($"Nro. Celular: {persona.Telefono}");
            Console.WriteLine($"Correo: {persona.Correo}");


            Television television = new Television(123, "2 Años de Garantía", "TCL", "CP-43E", 419.99);

            Console.WriteLine("");
            Console.WriteLine($"{persona.Nombre} usted es propietario de esta television {television.Marca}, {television.Modelo}, {television.Garantia}");


            Refrigeradora refrigeradora = new Refrigeradora(112, "3 Años de Garantía", "Indurama", "R-432", 600);

            Console.WriteLine("");
            Console.WriteLine($"{persona.Nombre} {persona.Apellido} usted como propietario de la siguiente refrigeradora: {refrigeradora.Id}, {refrigeradora.Marca}, {refrigeradora.Modelo} tiene {refrigeradora.Garantia}.");


            Cocina cocina = new Cocina(981, "3 Años y Medio de Garantía", "LG", "LsG-0001", 450.65);

            Console.WriteLine("");
            Console.WriteLine($"Buenas tardes Sr. {persona.Nombre} le ofrezo esta cocina de marca {cocina.Marca}, modelo {cocina.Modelo}, que cuenta con {cocina.Garantia} y le cuesta solo {cocina.Precio}");


            Microondas microondas = new Microondas(7421, "1 Año y Medio de Garantía", "Mabe", "mC-231", 129.99);

            Console.WriteLine("");
            Console.WriteLine($"Por favor buscame cuantas unidades en stock tenemos del siguiente microondas: {microondas.Id}, {microondas.Marca}, {microondas.Modelo}, {microondas.Precio}");
            Console.WriteLine($"Señor {persona.Nombre} tenemos 5 unidades en stock de este producto");
            Console.WriteLine($"Ahora dime cuanto tiempo tienen de garantía por favor");
            Console.WriteLine($"Señor este modelo de microondas tiene {microondas.Garantia}");
        }
示例#25
0
        public List <Programa> ListarProgramas()
        {
            List <Programa> lista = Microondas.Instance().programas.ToList();

            return(lista);
        }
示例#26
0
 private void TempoRestanteChanged(Microondas obj)
 {
     Entrada  = obj.EntradaAquecida;
     Tempo    = obj.TempoRestante.ToString(@"mm\:ss");
     Potencia = obj.FuncaoAtual.Potencia.ToString();
 }
        public ActionResult NovoPrograma(FormCollection form)
        {
            List <String> erros = new List <string>();

            if (form != null)                                           // validando se o formulário foi preenchido corretamente
            {
                if (!(form["nome"] != null && form["nome"].Length > 0)) // validando nome
                {
                    erros.Add("O nome do programa deve ser informado");
                }

                if (!(form["instrucoes"] != null && form["instrucoes"].Length > 0)) // validando instrucoes
                {
                    erros.Add("As instruções do programa deve ser informado");
                }

                if (form["tempo"] != null && form["tempo"].Length > 0) // validando tempo
                {
                    int tempo = Convert.ToInt32(form["tempo"]);

                    if (!(tempo > 0 && tempo <= 120))
                    {
                        erros.Add("O tempo do programa deve estar entre 1 e 120 segundos");
                    }
                }
                else
                {
                    erros.Add("O tempo do programa deve ser informado");
                }


                if (form["potencia"] != null && form["potencia"].Length > 0) // validando potência
                {
                    int potencia = Convert.ToInt32(form["potencia"]);

                    if (!(potencia > 0 && potencia <= 10))
                    {
                        erros.Add("A potência do programa deve estar entre 1 e 10");
                    }
                }
                else
                {
                    erros.Add("A potência do programa deve ser informado");
                }

                if (!(form["caractere"] != null && form["caractere"].Length > 0)) // validando caractere de aquecimento
                {
                    erros.Add("O caractere de aquecimento deve ser informado");
                }
            }
            else
            {
                erros.Add("Formulário foi submetido nulo");
            }

            if (erros.Count > 0)                   // posusi erros no formulário
            {
                ViewBag.erros_new_program = erros; // transportando erros para view, para exibição
                return(View());
            }
            else // formulário preenchido corretamente
            {
                Programa p = new Programa();
                p.nome       = form["nome"].ToString();
                p.instrucoes = form["instrucoes"].ToString();
                p.tempo      = Convert.ToInt32(form["tempo"].ToString());
                p.potencia   = Convert.ToInt32(form["potencia"].ToString());
                p.caractere  = form["caractere"].ToString()[0];
                p.original   = false;

                Microondas M = (Microondas)Session["microondas"];
                M.programas.Add(p);
                Session["microondas"] = M;
                return(View("Index"));
            }
        }
示例#28
0
 public ConsultaWindow(Microondas microondas)
 {
     InitializeComponent();
     (DataContext as ConsultaWindowViewModel).SetMicroondas(microondas);
 }
 public MicroondasValidation(Microondas microondas)
 {
     _microondas = microondas;
 }
示例#30
0
 public List <Programa> ListarProgramas()
 {
     return(Microondas.Instance().programas.ToList());
 }