public void ComodidadesTest() { Assert.AreEqual(new Comodidades(false, false, false), default(Comodidades)); var comodidades = new Comodidades(televisao: true, internet: true, servicoDeLimpeza: false); Assert.AreEqual(comodidades.Televisao, true); Assert.AreEqual(comodidades.Internet, true); Assert.AreEqual(comodidades.ServicoDeLimpeza, false); comodidades.ServicoDeLimpeza = true; Assert.AreEqual(comodidades.ServicoDeLimpeza, true); }
/// <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 }