private static Sonda ObterSonda(Sondas sondas, string nomeDaSonda) { Sonda sonda = sondas.ObterPorNome(nomeDaSonda); if (sonda == null) { sonda = new Sonda(nomeDaSonda); } return(sonda); }
private Sonda ObterSonda(Sondas sondas, string nomeDaSonda) { Sonda sonda = sondas.ObterPorNome(nomeDaSonda); if (sonda == null) { sonda = new Sonda(especificacaoDeNegocio, nomeDaSonda); } return(sonda); }
private void ExecutarExploracao(int sondaNumero) { Sondas sondas = new Sondas(BancoDeDados); Planalto planalto = new Planalto(); planalto.Criar(coordenada); movimentoSempreParaFrente = new MovimentoParaFrente(); var nomeDaSonda = $"Mark {sondaNumero}"; Sonda sonda; sonda = sondas.ObterPorNome(nomeDaSonda); if (sonda == null) { sonda = new Sonda(nomeDaSonda); } sonda.Explorar(planalto); sonda.IniciarEm(posicaoInicioalDaSonda, direcaoCardinalInicioalDaSonda); ExecutarInstrucaoNaSonda(sonda, movimentoSempreParaFrente); sondas.Gravar(sonda); sondas = null; var direcao = sonda.DirecaoAtual.ToString().ToUpper().Substring(0, 1).Replace("O", "W").Replace("L", "E"); if (sondaNumero > 1) { resultado += "-"; } resultado += $"{sonda.PosicaoAtual.X} {sonda.PosicaoAtual.Y} {direcao}"; }
public void Deve_fazer_a_exploracao_com_a_sonda_iniciando_em_12N_com_a_serie_de_instruncoes_LMLMLMLMM() { IMongoDatabase db = new ProvedorDeAcesso().Criar(conexaoComOBanco); Sondas sondas = new Sondas(db); var nomeDaSonda = "Mark I"; sonda = new Sonda(nomeDaSonda); sonda.Explorar(planalto); var posicaoDesejada = new Posicao(1, 2); var posicaoEsperada = new Posicao(1, 3); sonda.IniciarEm(posicaoDesejada, DirecaoCardinal.Norte); sonda.Vire(Direcao.Esqueda); sonda.Move(movimentoSempreParaFrente); sonda.Vire(Direcao.Esqueda); sonda.Move(movimentoSempreParaFrente); sondas.Gravar(sonda); sonda = sondas.ObterPorNome(nomeDaSonda); sonda.Vire(Direcao.Esqueda); sonda.Move(movimentoSempreParaFrente); sonda.Vire(Direcao.Esqueda); sonda.Move(movimentoSempreParaFrente); sonda.Move(movimentoSempreParaFrente); sondas.Gravar(sonda); Assert.AreEqual(nomeDaSonda, sonda.Nome); Assert.AreEqual(posicaoEsperada, sonda.PosicaoAtual); Assert.AreEqual(DirecaoCardinal.Norte, sonda.DirecaoCardinalAtual); }