public void HabitacaoTQuartosTest() { var h0 = new Habitacao(new IQuarto[0], 3, 2, 120, 1999, new Morada("Rua das Flores", null)); var h1 = new Habitacao(new[] { new Quarto(new[] { new Cama(TipoCama.Single) }) }, 3, 2, 120, 1999, new Morada("Rua das Flores", null)); var h2 = new Habitacao( new[] { new Quarto(new[] { new Cama(TipoCama.Single) }), new Quarto(new[] { new Cama(TipoCama.Single), new Cama(TipoCama.Single) }) }, 3, 2, 120, 1999, new Morada("Rua das Flores", null)); var h3 = new Habitacao( new[] { new Quarto(new[] { new Cama(TipoCama.Single) }), new Quarto(new[] { new Cama(TipoCama.Single) }), new Quarto(new[] { new Cama(TipoCama.Single) }) }, 3, 2, 120, 1999, new Morada("Rua das Flores", null)); var h4 = new Habitacao( new[] { new Quarto(new[] { new Cama(TipoCama.Single) }), new Quarto(new[] { new Cama(TipoCama.Double) }), new Quarto(new[] { new Cama(TipoCama.Single) }), new Quarto(new[] { new Cama(TipoCama.Single) }) }, 4, 2, 120, 1999, new Morada("Rua das Flores", null)); var h5 = new Habitacao( new[] { new Quarto(new[] { new Cama(TipoCama.Double) }), new Quarto(new[] { new Cama(TipoCama.Double) }), new Quarto(new[] { new Cama(TipoCama.Single) }), new Quarto(new[] { new Cama(TipoCama.Single) }), new Quarto(new[] { new Cama(TipoCama.Single) }) }, 5, 2, 120, 1999, new Morada("Rua das Flores", null)); Assert.AreEqual(h0.TQuartos, "T0"); Assert.AreEqual(h1.TQuartos, "T1"); Assert.AreEqual(h2.TQuartos, "T2"); Assert.AreEqual(h3.TQuartos, "T3"); Assert.AreEqual(h4.TQuartos, "T4"); Assert.AreEqual(h5.TQuartos, "T5"); }
public void HabitacaoAssoalhadasMaiorIgualQuartosTest() { var habitacao = new Habitacao(new[] { new Quarto(new [] { new Cama(TipoCama.Single) }), new Quarto(new [] { new Cama(TipoCama.Single), new Cama(TipoCama.Single) }) }, 3, 2, 120, 1999, new Morada("Rua das Flores", null)); Assert.IsTrue(habitacao.NumeroDeAssoalhadas >= habitacao.NumeroDeQuartos); }
public void HabitacaoNumeroDeQuartosCamasECapacidadeTest() { var h = new Habitacao(new[] { new Quarto(new[] { new Cama(TipoCama.Single) }), new Quarto(new[] { new Cama(TipoCama.Double), new Cama(TipoCama.Single) }) }, 3, 2, 120, 1999, new Morada("Rua das Flores", null)); Assert.AreEqual(h.NumeroDeQuartos, 2); Assert.AreEqual(h.NumeroDeAssoalhadas, 3); Assert.AreEqual(h.NumeroDeCamas, 3); Assert.AreEqual(h.NumeroDeWcs, 2); Assert.AreEqual(h.Capacidade, 4); }
/// <summary> /// Clique no botão "buttonAdicionar". /// Extrai toda a informação introduzida pelo utilizador e procede à sua validação. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAdicionar_Click(object sender, EventArgs e) { #region Receber Dados var morada = new Morada(textBoxRua.Text, new CodigoPostal(maskedTextBoxCodigoPostal.Text), textBoxLocalidade.Text); var numDeWcs = ParseNumberOrFail(comboBoxNumDeWC.Text, "Valor de \"Número de Wcs\" inválido"); // Metros Quadrados var metrosQuadrados = ParseNumberOrFail(textBoxMetrosQuadrados.Text, "Valor de \"Metros Quadrados\" inválido"); // Ano de Construção int anoDeConstrucao; if (!int.TryParse(numericUpDownAnoDeConstrucao.Text, out anoDeConstrucao)) { MessageBox.Show("Valor de \"Ano de Construção\" inválido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (anoDeConstrucao > DateTime.Now.Year) { MessageBox.Show( $"Valor de \"Ano de Construção\" inválido: não pode ser superior ao ano atual {DateTime.Now.Year}", "Erro de validação", MessageBoxButtons.OK, MessageBoxIcon.Error); } // Nº de Assoalhadas var numAssoalhadas = ParseNumberOrFail(comboBoxNumDeAssoalhadas.Text, "Valor de \"Nº de Assoalhadas\" inválido: não é número inteiro"); // Nº de Quartos var numQuartos = ParseNumberOrFail(comboBoxNumDeQuartos.Text, "Valor de \"Nº de Quartos\" inválido: não é número inteiro"); #endregion // Comodidades var comodidades = new Comodidades(checkBoxTelevisao.Checked, checkBoxInternet.Checked, checkBoxServicosDeLimpeza.Checked); // Descrição da Habitação var descricao = textBoxDescricao.Text.Trim(); // Despesas incluidas? var despesasIncluidas = checkBoxDespesasIncluidas.Checked; var custoMensal = decimal.Parse(textBoxPreco.Text); #region Validar // validar // e depois var habitacao = new Habitacao(descricao, numQuartos, numAssoalhadas, numDeWcs, metrosQuadrados, anoDeConstrucao, morada, custoMensal, despesasIncluidas, comodidades); #endregion #region Redes Sociais try { if (checkBoxFacebook.Checked) { PostFacebook(habitacao); } if (checkBoxTwitter.Checked) { PostTwitter(habitacao); } } catch (Exception) { // se for levantada alguma excepção, ignorar return; } MessageBox.Show("Habitação registada com sucesso.", "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); #endregion }