Advertisement
KaiserRego

AyP1 - Guía 6 - VerificadorDeDobles

Oct 31st, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.73 KB | None | 0 0
  1. public class VerificadorDeDobles {
  2.    
  3.     private int[] numeros;
  4.  
  5.    
  6.     /** pre: se ingresa un array de números enteros.
  7.      * post: se inicializa el VerificadorDeDobles con el array de números enteros recibido.
  8.      * @param numeros
  9.      */
  10.     public VerificadorDeDobles (int[] numeros){
  11.        
  12.         this.numeros  = new int [numeros.length];
  13.        
  14.         for (int i=0; i < numeros.length; i++){
  15.             this.numeros[i] = numeros [i];
  16.         }
  17.     }
  18.    
  19.     /** post: verifica que cada número que compone el array sea el doble del anterior (a excepción, obviamente,
  20.      * del primer elemento del array). Si la verificación es correcta, devuelve true; sino, devuelve false.
  21.      * @return
  22.      */
  23.     public boolean verificar (){
  24.        
  25.         boolean esUnArrayDeDobles = true;
  26.        
  27.         for (int i=1; i < numeros.length && esUnArrayDeDobles; i++){
  28.            
  29.             if (getElemento(i) == getElemento(i-1) * 2){
  30.                
  31.                 esUnArrayDeDobles = true;              
  32.             }
  33.             else{
  34.                
  35.                 esUnArrayDeDobles = false;
  36.             }
  37.         }
  38.        
  39.         return (esUnArrayDeDobles);
  40.     }
  41.    
  42.     public int getElemento (int indiceDelElemento){
  43.        
  44.         return (numeros[indiceDelElemento]);
  45.     }
  46. }
  47.  
  48. // Pruebas
  49.  
  50. import org.junit.Before;
  51. import org.junit.Test;
  52. import org.junit.Assert;
  53.  
  54.  
  55. public class PruebaVerificadorDeDobles {
  56.    
  57.     @Before
  58.     public void comprobarElementosAlInicializar () {
  59.        
  60.         int[] arrayDeNumeros = {1, 2, 3, 4, 5};
  61.        
  62.         VerificadorDeDobles bender = new VerificadorDeDobles (arrayDeNumeros);
  63.        
  64.         Assert.assertEquals(1, bender.getElemento (0) );
  65.         Assert.assertEquals(2, bender.getElemento (1) );
  66.         Assert.assertEquals(3, bender.getElemento (2) );
  67.         Assert.assertEquals(4, bender.getElemento (3) );
  68.         Assert.assertEquals(5, bender.getElemento (4) );
  69.     }
  70.    
  71.     @Test
  72.     public void probarConArrayDeDoblesPequeños(){
  73.        
  74.         int [] arrayDeDoblesPequeños = {2, 4, 8, 16, 32};
  75.        
  76.         VerificadorDeDobles fry = new VerificadorDeDobles (arrayDeDoblesPequeños);
  77.        
  78.         Assert.assertEquals(true, fry.verificar());
  79.        
  80.     }
  81.    
  82.     @Test
  83.     public void probarConArrayDeDoblesGrandes(){
  84.        
  85.         int [] arrayDeDoblesGrandes = {1024, 2048, 4096, 8192, 16384, 32768, 65536};
  86.        
  87.         VerificadorDeDobles leela = new VerificadorDeDobles (arrayDeDoblesGrandes);
  88.        
  89.         Assert.assertEquals(true, leela.verificar());
  90.        
  91.     }
  92.    
  93.     @Test
  94.     public void probarConArrayDeDoblesNegativos(){
  95.        
  96.         int [] arrayDeDoblesNegativos = {-2, -4, -8, -16, -32, -64, -128, -256};
  97.        
  98.         VerificadorDeDobles professor = new VerificadorDeDobles (arrayDeDoblesNegativos);
  99.        
  100.         Assert.assertEquals(true, professor.verificar());
  101.        
  102.     }
  103.    
  104.     @Test
  105.     public void probarConArrayDeNoDobles(){
  106.        
  107.         int [] arrayDeNoDobles = {4, 7, 10, 2048, 15, 4};
  108.        
  109.         VerificadorDeDobles zoidberg = new VerificadorDeDobles (arrayDeNoDobles);
  110.        
  111.         Assert.assertEquals(false, zoidberg.verificar());
  112.        
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement