Advertisement
fmbalvarez

PronosticoSemanal

Oct 25th, 2014
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1.  
  2. public class PronosticoSemanal {
  3.    
  4.     private double [] semana;
  5.    
  6.    
  7.     /**
  8.      * post: inicializa las temperaturas de la semana en 0.  */
  9.    
  10.     public PronosticoSemanal () {
  11.        
  12.         semana = new double [7];
  13.        
  14.         for  (int i = 0; i < semana.length; i++){
  15.            
  16.             semana [i] = 0;
  17.         }
  18.     }
  19.    
  20.     /**
  21.      * pre: se ingresa una temperatura en centigrados y un día de acuerdo a:
  22.      * 0 = lunes;
  23.      * 1 = martes;
  24.      * 2 = miercoles;
  25.      * 3 = jueves;
  26.      * 4 = viernes;
  27.      * 5 = sabado;
  28.      * 6 = domingo;
  29.      * @param dia
  30.      * @param temperatura
  31.      */
  32.     public void modificarTemperatura (int dia, double temperatura){
  33.        
  34.         validarDia (dia);
  35.         validarTemperatura (temperatura);
  36.        
  37.         semana [dia] = temperatura;    
  38.     }
  39.    
  40.     public void validarDia (int dia){
  41.        
  42.         if (dia < 0 || dia > 6){
  43.            
  44.             Error diaFueraDeRango = new Error ("El día no está comprendido dentro del rango");
  45.             throw diaFueraDeRango;
  46.         }
  47.     }
  48.    
  49.     public void validarTemperatura (double temperatura){
  50.        
  51.         if (temperatura < -40 || temperatura > 50){
  52.            
  53.             Error temperaturaFueraDeRango = new Error ("El sol se comió la tierra");
  54.             throw temperaturaFueraDeRango;
  55.         }
  56.     }
  57.    
  58.     public double getTemperatura(int dia){
  59.        
  60.         validarDia(dia);
  61.        
  62.         return semana[dia];
  63.     }
  64.    
  65.     public double getTemperaturaMaxima(){
  66.        
  67.         double temperaturaMaxima = -40;
  68.        
  69.         for (int i = 0; i < semana.length; i++){
  70.            
  71.             if (semana[i] > temperaturaMaxima){
  72.                
  73.                 temperaturaMaxima = semana[i];
  74.             }
  75.         }
  76.        
  77.         return temperaturaMaxima;
  78.     }
  79.    
  80.     public double getTemperaturaMinima(){
  81.        
  82.         double temperaturaMinima = -40;
  83.        
  84.         for (int i = 0; i < semana.length; i++){
  85.            
  86.             if (semana[i] > temperaturaMinima){
  87.                
  88.                 semana[i] = temperaturaMinima;
  89.             }
  90.         }
  91.        
  92.         return temperaturaMinima;
  93.     }
  94.    
  95.    
  96.    
  97.    
  98. }
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120. import org.junit.Before;
  121. import org.junit.Test;
  122. import org.junit.Assert;
  123.  
  124. public class PruebaPronosticoSemanal {
  125.  
  126.     PronosticoSemanal pronostico;
  127.    
  128.     @Before
  129.     public void crearPronosticoSemanal() {
  130.        
  131.         PronosticoSemanal pronostico = new PronosticoSemanal();
  132.         this.pronostico = pronostico;
  133.     }
  134.    
  135.     @Test
  136.     public void modificarTemperaturaLunes(){
  137.        
  138.         pronostico.modificarTemperatura(0, 40);
  139.        
  140.         Assert.assertEquals(pronostico.getTemperatura(0), 40, 0.001);
  141.     }
  142.    
  143.     @Test
  144.     public void modificarTemperaturaMartes(){
  145.        
  146.         pronostico.modificarTemperatura(1, 30);
  147.        
  148.         Assert.assertEquals(pronostico.getTemperatura(1), 30, 0.001);
  149.     }
  150.    
  151.     @Test
  152.     public void modificarTemperaturaMiercoles(){
  153.        
  154.         pronostico.modificarTemperatura(2, 30);
  155.        
  156.         Assert.assertEquals(pronostico.getTemperatura(2), 30, 0.001);
  157.     }
  158.    
  159.     @Test
  160.     public void modificarTemperaturaJueves(){
  161.        
  162.         pronostico.modificarTemperatura(3, 30);
  163.        
  164.         Assert.assertEquals(pronostico.getTemperatura(3), 30, 0.001);
  165.     }
  166.    
  167.     @Test
  168.     public void modificarTemperaturaViernes(){
  169.        
  170.         pronostico.modificarTemperatura(4, 25);
  171.        
  172.         Assert.assertEquals(pronostico.getTemperatura(4), 25, 0.001);
  173.     }
  174.    
  175.     @Test
  176.     public void modificarTemperaturaSabado(){
  177.        
  178.         pronostico.modificarTemperatura(5, 25);
  179.        
  180.         Assert.assertEquals(pronostico.getTemperatura(5), 25, 0.001);
  181.     }
  182.    
  183.     @Test
  184.     public void modificarTemperaturaDomingo(){
  185.        
  186.         pronostico.modificarTemperatura(6, 25);
  187.        
  188.         Assert.assertEquals(pronostico.getTemperatura(6), 25, 0.001);
  189.     }
  190.    
  191.     @Test (expected = Error diaFueraDeRango)
  192.     public void diaFueraDeRango(){
  193.        
  194.         pronostico.modificarTemperatura(6, 25);
  195.        
  196.         Assert.assertEquals(pronostico.getTemperatura(6), 25, 0.001);
  197.     }
  198.    
  199.     @Test
  200.     public void lunesConTemperaturaMaxima(){
  201.        
  202.         pronostico.modificarTemperatura(0, 38);
  203.        
  204.         Assert.assertEquals(pronostico.getTemperaturaMaxima(), 38, 0.001);
  205.     }
  206.    
  207.    
  208.    
  209.    
  210.    
  211. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement