Ejemplo n.º 1
0
        public void EfetuarCopiaDaMensagemDtoTest()
        {
            MensagemDto mensagemDto = new MensagemDto();

            //O tipo da mensagem é irrelevante ao teste pois a mensagem criada aqui será somente para simular a modificação da coleção propriedades e os impactos que ocorrem nesse caso
            mensagemDto.Tipo = MultiAccess.Library.Domains.CsTipoMensagem.ConexaoEfetuadaComSucesso;

            mensagemDto.Propriedades.Add("Joao", "25");
            mensagemDto.Propriedades.Add("Pedro", "24");
            mensagemDto.Propriedades.Add("Marcelo", "23");
            mensagemDto.Propriedades.Add("Marcos", "22");

            Dictionary <string, MensagemDto> mensagens = new Dictionary <string, MensagemDto>();

            //Simulação de envio

            /*
             * Ao utilizar o método de simulação de envio da mensagem o dono destinatário da mensagem deve receber uma cópia
             * que exclui a si mesmo da mensagem modificando a mensagem  que agora não possui o próprio login do receptor
             */
            foreach (DictionaryEntry item in mensagemDto.Propriedades)
            {
                SimularModificacaoColecaoDaMensagem(Mensagem.CopiarMensagemDto(mensagemDto), (string)item.Key, mensagens);
            }

            MensagemDto mensagemJoao, mensagemPedro, mensagemMarcos, mensagemMarcelo;

            //recebendo uma cópia da mensagem original
            mensagemJoao = Mensagem.CopiarMensagemDto(mensagemDto);
            //efetuando alteração na cópia
            mensagemJoao.Propriedades.Remove("Joao");
            //comparando se a cópia alterada de Joao é identica a cópia modificada no método SimulacaoEnviarMensagemCriacaoNovaTarefaPara
            CollectionAssert.AreEquivalent(mensagemJoao.Propriedades, mensagens["Joao"].Propriedades);

            mensagemPedro = Mensagem.CopiarMensagemDto(mensagemDto);
            //efetuando alteração na cópia
            mensagemPedro.Propriedades.Remove("Pedro");
            //comparando se a cópia alterada de Pedro é identica a cópia modificada no método SimulacaoEnviarMensagemCriacaoNovaTarefaPara
            CollectionAssert.AreEquivalent(mensagemPedro.Propriedades, mensagens["Pedro"].Propriedades);

            mensagemMarcelo = Mensagem.CopiarMensagemDto(mensagemDto);
            //efetuando alteração na cópia
            mensagemMarcelo.Propriedades.Remove("Marcelo");
            //comparando se a cópia alterada de Marcelo é identica a cópia modificada no método SimulacaoEnviarMensagemCriacaoNovaTarefaPara
            CollectionAssert.AreEquivalent(mensagemMarcelo.Propriedades, mensagens["Marcelo"].Propriedades);

            mensagemMarcos = Mensagem.CopiarMensagemDto(mensagemDto);
            //efetuando alteração na cópia
            mensagemMarcos.Propriedades.Remove("Marcos");
            //comparando se a cópia alterada de Marcos é identica a cópia modificada no método SimulacaoEnviarMensagemCriacaoNovaTarefaPara
            CollectionAssert.AreEquivalent(mensagemMarcos.Propriedades, mensagens["Marcos"].Propriedades);
        }