static void Main(string[] args) { var localBuilder = new LocalBuilder(); var origem = localBuilder.SetDescricao("Terminal").Create(); var pessoaBuilder = new PessoaBuilder(); origem.AdicionarPessoa(pessoaBuilder.SetNome("Robin").SetTipoPessoa(TipoPessoa.Policial).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Batgirl").SetTipoPessoa(TipoPessoa.Comissaria).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Wolverine").SetTipoPessoa(TipoPessoa.Oficial).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Goku").SetTipoPessoa(TipoPessoa.Oficial).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Flash").SetTipoPessoa(TipoPessoa.ChefeDeServico).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Wonderwoman").SetTipoPessoa(TipoPessoa.Comissaria).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Seiya").SetTipoPessoa(TipoPessoa.Presidiario).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Allejo").SetTipoPessoa(TipoPessoa.Piloto).Create()); var destino = localBuilder.SetDescricao("Avião").Create(); new Transporte().ExecutarTransporte(origem, destino); Console.ReadKey(); }
public void Deve_Lancar_Exception_Se_ChefeDeServico_E_Oficial_Ficarem_A_Sos() { var localBuilder = new LocalBuilder(); var local = localBuilder.SetDescricao("Local Teste").Create(); var pessoaBuilder = new PessoaBuilder(); local.AdicionarPessoa(pessoaBuilder.SetNome("Jorge").SetTipoPessoa(TipoPessoa.ChefeDeServico).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Mateus").SetTipoPessoa(TipoPessoa.Oficial).Create()); var ex = Assert.Throws <Exception>(() => _validacaoTransporte.RestricoesLocal(local)); Assert.Equal("Chefe de Servico e Oficial não podem ficar a sós.", ex.Message); }
public void Deve_Lancar_Exception_Se_Piloto_E_Comissaria_Ficarem_A_Sos() { var localBuilder = new LocalBuilder(); var local = localBuilder.SetDescricao("Local Teste").Create(); var pessoaBuilder = new PessoaBuilder(); local.AdicionarPessoa(pessoaBuilder.SetNome("Jorge").SetTipoPessoa(TipoPessoa.Piloto).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Mateus").SetTipoPessoa(TipoPessoa.Comissaria).Create()); var ex = Assert.Throws <Exception>(() => _validacaoTransporte.RestricoesLocal(local)); Assert.Equal("Piloto e Comissária não podem ficar a sós.", ex.Message); }
public void Deve_Lancar_Exception_Se_Presidiario_Ficar_Sem_Policial() { var localBuilder = new LocalBuilder(); var local = localBuilder.SetDescricao("Local Teste").Create(); var pessoaBuilder = new PessoaBuilder(); local.AdicionarPessoa(pessoaBuilder.SetNome("Jorge").SetTipoPessoa(TipoPessoa.Presidiario).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Mateus").SetTipoPessoa(TipoPessoa.Oficial).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Bruno").SetTipoPessoa(TipoPessoa.Oficial).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Marrone").SetTipoPessoa(TipoPessoa.Piloto).Create()); var ex = Assert.Throws <Exception>(() => _validacaoTransporte.RestricoesLocal(local)); Assert.Equal("O Presidiário não pode ficar sem a presença do Policial.", ex.Message); }