public void EntaoOServidorDeveraComunicarOColaboradorQueNoCronogramaAsSeguintesTarefaSEstaoEmEdicao(string colaborador, string cronograma, Table table)
        {
            string oidTarefa;
            string key;
            IEnumerable <EdicaoTarefaHelper> edicoes = table.CreateSet <EdicaoTarefaHelper>();

            foreach (var edicao in edicoes)
            {
                oidTarefa = StepCronograma.GetOidTarefaNoCronograma(cronograma, edicao.Tarefa);
                key       = StepContextUtil.CriarKeyTarefaJaEstavamEmEdicao(colaborador, oidTarefa, edicao.Autor);
                ControleDeEsperaUtil.AguardarAte(() => { return(StepContextUtil.CenarioAtualContemAChave(key)); });
                Assert.IsTrue(StepContextUtil.CenarioAtualContemAChave(key),
                              string.Format("{0} deveria ter sido avisado de que a tarefa {1} estava em edição pelo colaborador {2}" +
                                            " no cronograma {3}", colaborador, edicao.Tarefa, edicao.Autor, cronograma));
            }
        }
        public void EntaoOServidorNaoDeveComunicarAoSColaboradorEsDeQueASTarefaSRecebeuRamAtualizacaoOesNoCronograma(string colaboradores, string naoUsado, string tarefasOutroCronograma, string naoUsado2, string outroCronograma)
        {
            string[] logins  = colaboradores.Replace("\'", "").Split(',').Select(o => o.Trim()).ToArray();
            string[] tarefas = tarefasOutroCronograma.Replace("\'", "").Split(',').Select(o => o.Trim()).ToArray();
            string   oidTarefa;
            string   key;

            for (int i = 0; i < logins.Length; i++)
            {
                for (int x = 0; x < tarefas.Length; x++)
                {
                    oidTarefa = StepCronograma.GetOidTarefaNoCronograma(outroCronograma, tarefas[x]);
                    key       = StepContextUtil.CriarKeyRecebeuAtualizacaoEdicaoTarefa(logins[i], oidTarefa);
                    ControleDeEsperaUtil.AguardarAte(() => { return(StepContextUtil.CenarioAtualContemAChave(key)); });
                    Assert.IsFalse(StepContextUtil.CenarioAtualContemAChave(key), string.Format("{0} não deveria ter sido comunicado da atualização da tarefa {1} que pertence outro cronograma '{2}'", logins[i], tarefas[x], outroCronograma));
                }
            }
        }