public Retangulo(Ponto p1, Ponto p2) { _pontoInferiorEsquerdo = p1; _pontoSuperiorDireito = p2; _pontoSuperiorEsquerdo = new Ponto(p1.x, p2.y); _pontoInferiorDireito = new Ponto(p2.x, p1.y); }
internal bool EhSobrepostoAo(Retangulo retangulo) { var pontoAdjacenteSuperior = new Ponto(_pontoInferiorEsquerdo.x, retangulo._pontoSuperiorDireito.y); var pontoAdjacenteInferior = new Ponto(retangulo._pontoSuperiorDireito.x, _pontoInferiorEsquerdo.y); foreach (Ponto ponto in retangulo.Pontos()) { if (ContemPonto(ponto)) return true; } return false; }
public void Deve_calcular_o_perimetro_do_retangulo() { var p1 = new Ponto(0, 0); var p2 = new Ponto(1, 1); var retangulo = new Retangulo(p1, p2); double perimetroCalculado = retangulo.CalculaPerimetro(); int areaEsperada = 2; Assert.AreEqual(areaEsperada, perimetroCalculado); }
public void Deve_calcular_a_area_do_retangulo() { var p1 = new Ponto(0, 0); var p2 = new Ponto(1, 1); var retangulo = new Retangulo(p1, p2); double areaCalculada = retangulo.CalculaArea(); int areaEsperada = 1; Assert.AreEqual(areaEsperada, areaCalculada); }
public void Deve_retornar_verdadeiro_para_dois_retangulos_sobrepostos() { var p1 = new Ponto(2, 2); var p2 = new Ponto(5, 4); var retangulo1 = new Retangulo(p1, p2); var p3 = new Ponto(1, 1); var p4 = new Ponto(4, 3); var retangulo2 = new Retangulo(p3, p4); bool ehSobreposto = retangulo1.EhSobrepostoAo(retangulo2); Assert.AreEqual(true, ehSobreposto); }
public void Deve_retornar_falso_para_dois_retangulos_nao_sobrepostos() { var p1 = new Ponto(0, 0); var p2 = new Ponto(1, 1); var retangulo1 = new Retangulo(p1, p2); var p3 = new Ponto(2, 2); var p4 = new Ponto(3, 3); var retangulo2 = new Retangulo(p3, p4); bool naoEhSobreposto = retangulo1.EhSobrepostoAo(retangulo2); Assert.AreEqual(false, naoEhSobreposto); }
private bool ContemPonto(Ponto ponto) { return (_pontoInferiorEsquerdo.x <= ponto.x && ponto.x <= _pontoSuperiorDireito.x) && (_pontoInferiorEsquerdo.y <= ponto.y && ponto.y <= _pontoSuperiorDireito.y); }
private bool ContemPonto(Ponto ponto) { return((_pontoInferiorEsquerdo.x <= ponto.x && ponto.x <= _pontoSuperiorDireito.x) && (_pontoInferiorEsquerdo.y <= ponto.y && ponto.y <= _pontoSuperiorDireito.y)); }