XP : GrupoOitoZero

XP » XP » WebHome » EncontrosRadicais » CincoDeAbril » GrupoOitoZero


public class Triangulo {

   private double lado1;

   private double lado2;

   private double lado3;

   public Triangulo() {
      setLado1(1);
      setLado2(1);
      setLado3(1);
   }

   public Triangulo(double l1, double l2, double l3) {
      setLado1(l1);
      setLado2(l2);
      setLado3(l3);
   }

   public double getLado1() {
      return lado1;
   }

   public double getLado2() {
      return lado2;
   }

   public double getLado3() {
      return lado3;
   }

   public void setLado1(double l1) {
      if (l1 > 0)
         lado1 = l1;
   }

   public void setLado2(double l2) {
      if (l2 > 0)
         lado2 = l2;
   }

   public void setLado3(double l3) {
      if (l3 > 0)
         lado3 = l3;
   }

   private boolean validaTriangulo() {
      boolean ehValido = true;

      if (lado1 > (lado2 + lado3))
         ehValido = false;
      else if (lado2 > (lado1 + lado3))
         ehValido = false;
      else if (lado3 > (lado1 + lado2))
         ehValido = false;

      return ehValido;
   }

   public String qualForma() {
      if (!validaTriangulo())
         return "Triângulo inválido";

      final String ISO = "isoceles";
      final String ESC = "escaleno";
      final String EQU = "equilatero";

      if ((lado1 == lado2) & (lado2 == lado3)) {
         return EQU;
      } else if ((lado1 == lado2) || (lado2 == lado3) || (lado1 == lado3)) {
         return ISO;
      } else {
         return ESC;
      }

   }

}





Teste
--------------------------------------------------------------------------------------------------------------


import junit.framework.TestCase;

public class TrianguloTest extends TestCase {
   
   Triangulo triangulo;
   
   public TrianguloTest() {
      triangulo = new Triangulo();
   }
   
   public void testeQualForma() {
      
      triangulo.setLado1(2);
      triangulo.setLado2(1);
      triangulo.setLado3(-3);
      
      assertEquals(triangulo.qualForma(),"isoceles");
      
     triangulo.setLado3(3);
      
      assertEquals(triangulo.qualForma(),"escaleno");
      
     triangulo.setLado1(3);
      triangulo.setLado2(3);
      
      assertEquals(triangulo.qualForma(),"equilatero");
      
   }

}

E D U G R A F - Laboratório de Software Educacional - UFSC - CTC - INE
Campus Universitário - Trindade, Florianópolis, SC, Brasil 88040-090
Fone: +55 48 331 9735 / Fax: +55 48 331-9770