예제 #1
0
        public void DefineNovoValorParaPropriedadeModel()
        {
            var wrapper = new ClienteWrapper(_cliente);

            wrapper.Nome = "Maria";
            Assert.AreEqual(wrapper.Nome, _cliente.Nome);
        }
예제 #2
0
        public void VerificarModelColecaoPopulado()
        {
            var wrapper = new ClienteWrapper(_cliente);

            Assert.IsNotNull(wrapper.Emails);
            VerificarSeModelColecaoEmailEstaSincronizado(wrapper);
        }
예제 #3
0
        public void VerificarSincroniaModelAdicionarEmailAposAtulizacaoEmail()
        {
            _cliente.Emails.Remove(_emailCliente);
            var wrapper = new ClienteWrapper(_cliente);

            wrapper.Emails.Add(new EmailClienteWrapper(_emailCliente));
            VerificarSeModelColecaoEmailEstaSincronizado(wrapper);
        }
예제 #4
0
        public void VerificarSincroniaModelRemoverEmailAposAtulizacaoEmail()
        {
            var wrapper           = new ClienteWrapper(_cliente);
            var emailParaExclusao = wrapper.Emails.Single(ew => ew.Model == _emailCliente);

            wrapper.Emails.Remove(emailParaExclusao);
            VerificarSeModelColecaoEmailEstaSincronizado(wrapper);
        }
예제 #5
0
        public void AlteraValorOriginalArmazenado()
        {
            var wrapper = new ClienteWrapper(_cliente);

            Assert.AreEqual("José", wrapper.NomeOriginalValue);

            wrapper.Nome = "Maria";
            Assert.AreEqual("José", wrapper.NomeOriginalValue);
        }
예제 #6
0
 public void LancarExecaoCasoNullNoModel()
 {
     try
     {
         var wrapper = new ClienteWrapper(null);
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("model", ex.ParamName);
         throw;
     }
 }
예제 #7
0
 public void LancarExeptionCasoOEmailDoClienteSejaNulo()
 {
     try
     {
         _cliente.Emails = null;
         var wrapper = new ClienteWrapper(_cliente);
     }
     catch (ArgumentException ex)
     {
         Assert.AreEqual("Informe o Email.", ex.Message);
         throw;
     }
 }
예제 #8
0
        public void DefineNovoValorParaPropriedaPropertyChangedEventModel()
        {
            var flag    = false;
            var wrapper = new ClienteWrapper(_cliente);

            wrapper.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "Nome")
                {
                    flag = true;
                }
            };
            wrapper.Nome = "Maria";
            Assert.IsTrue(flag);
        }
예제 #9
0
        public void DefineNovoValorParaPropriedaPropertyChangedEventModelNomeAlterado()
        {
            var fired   = false;
            var wrapper = new ClienteWrapper(_cliente);

            wrapper.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == nameof(wrapper.NomeIsChanged))
                {
                    fired = true;
                }
            };
            wrapper.Nome = "Pedro";
            Assert.IsTrue(fired);
        }
예제 #10
0
        public void ExibirFoiAlterado()
        {
            var wrapper = new ClienteWrapper(_cliente);

            Assert.IsFalse(wrapper.NomeIsChanged);
            // Assert.IsFalse(wrapper.IsChanged);

            wrapper.Nome = "Maria";
            Assert.IsTrue(wrapper.NomeIsChanged);
            //Assert.IsTrue(wrapper.IsChanged);

            wrapper.Nome = "José";
            Assert.IsFalse(wrapper.NomeIsChanged);
            // Assert.IsTrue(wrapper.IsChanged);
        }
예제 #11
0
        public void Iniciar(int?clienteId = null)
        {
            GrupoClienteLookup = _grupoClienteLookupProvider.RecuperaDadosPesquisa();

            var cliente = clienteId.HasValue
                ? _clienteDataProvider.ObterClienteById(clienteId.Value)
                : new Cliente {
                Endereco = new Endereco(), Emails = new List <EmailCliente>()
            };

            Cliente = new ClienteWrapper(cliente);
            Cliente.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == nameof(Cliente.IsChanged) ||
                    e.PropertyName == nameof(Cliente.IsValid))
                {
                    InvalidarComandos();
                }
            };

            InvalidarComandos();
        }
        public void DefineEnderecoInicializado()
        {
            var wrapper = new ClienteWrapper(_cliente);

            Assert.AreEqual(_cliente.Endereco, wrapper.Endereco.Model);
        }
예제 #13
0
 private void VerificarSeModelColecaoEmailEstaSincronizado(ClienteWrapper wrapper)
 {
     Assert.AreEqual(_cliente.Emails.Count, wrapper.Emails.Count);
     Assert.IsTrue(_cliente.Emails.All(e => wrapper.Emails.Any(we => we.Model == e)));
 }
예제 #14
0
        public void RecuperarEAlteraValorParaPropriedadeModel()
        {
            var wrapper = new ClienteWrapper(_cliente);

            Assert.AreEqual(_cliente.Nome, wrapper.Nome);
        }
예제 #15
0
        public void VerificarModelPopulado()
        {
            var wrapper = new ClienteWrapper(_cliente);

            Assert.AreEqual(_cliente, wrapper.Model);
        }