Advertisement
KaiserRego

AyP1 - Guía 10 - 1) VerificadorDeOrdenAscendenteYDescendente

Nov 13th, 2014
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.15 KB | None | 0 0
  1. public class VerificadorDeOrdenAscendenteYDescendente {
  2.    
  3.     /** pre: se ingresa un array de números enteros ya cargado.
  4.     * post: indica si los elementos del vector están o no ordenados de manera ascendente.
  5.     */
  6.     public boolean estaOrdenadoAscendentemente(int[] arrayDeEnteros){
  7.  
  8.         boolean ordenado = true;
  9.        
  10.         this.verificarSiArrayEstaVacio(arrayDeEnteros);
  11.        
  12.         for (int i=1; i < arrayDeEnteros.length && ordenado; i++){
  13.            
  14.             if (arrayDeEnteros[i] >= arrayDeEnteros [i -1]){
  15.                
  16.                 ordenado = true;
  17.             }
  18.            
  19.             else if (arrayDeEnteros [i] < arrayDeEnteros [i-1]) {
  20.                
  21.                 ordenado = false;
  22.             }
  23.            
  24.         }
  25.        
  26.         return ordenado;
  27.     }
  28.    
  29.     /** pre: se ingresa un array de números enteros ya cargado.
  30.     * post: indica si los elemento del vector están o no ordenados de manera descendente.
  31.     */
  32.     public boolean estaOrdenadoDescendentemente(int[] arrayDeEnteros){
  33.  
  34.         boolean ordenado = true;
  35.        
  36.         this.verificarSiArrayEstaVacio(arrayDeEnteros);
  37.        
  38.         for (int i=1; i < arrayDeEnteros.length && ordenado; i++){
  39.            
  40.             if (arrayDeEnteros[i] <= arrayDeEnteros [i -1]){
  41.                
  42.                 ordenado = true;
  43.             }
  44.            
  45.             else if (arrayDeEnteros [i] > arrayDeEnteros [i-1]) {
  46.                
  47.                 ordenado = false;
  48.             }
  49.            
  50.         }
  51.        
  52.         return ordenado;
  53.     }
  54.    
  55.     /** post: verifica que el array recibido como parámetro esté cargado.*/
  56.     private void verificarSiArrayEstaVacio (int [] arrayDeEnteros){
  57.        
  58.         if (arrayDeEnteros.length == 0){
  59.            
  60.             Error arrayVacio = new Error ("El array no está cargado");
  61.             throw arrayVacio;
  62.         }
  63.     }
  64.    
  65. }
  66.  
  67. import org.junit.Assert;
  68. import org.junit.Test;
  69.  
  70. public class PruebaVerificadorDeOrdenAscendenteYDescendente {
  71.    
  72.     VerificadorDeOrdenAscendenteYDescendente verificador = new VerificadorDeOrdenAscendenteYDescendente();
  73.    
  74.     @Test
  75.     public void pruebaNumerosOrdenadosAscend (){
  76.        
  77.         int[] numerosOrdenadosAscend = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  78.        
  79.         Assert.assertTrue(verificador.estaOrdenadoAscendentemente(numerosOrdenadosAscend));
  80.         Assert.assertFalse(verificador.estaOrdenadoDescendentemente(numerosOrdenadosAscend));
  81.     }
  82.    
  83.     @Test
  84.     public void pruebaNumerosOrdenadosDescend (){
  85.        
  86.         int [] numerosOrdenadosDescend = new int [] {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
  87.        
  88.         Assert.assertFalse(verificador.estaOrdenadoAscendentemente(numerosOrdenadosDescend));
  89.         Assert.assertTrue(verificador.estaOrdenadoDescendentemente(numerosOrdenadosDescend));
  90.     }
  91.    
  92.     @Test
  93.     public void pruebaNumerosDesordenados() {
  94.        
  95.         int[] numerosDesordenados = new int[] { 54, 25, 86, 12, 65, 76, 1, 68, 76, 87 };
  96.        
  97.         Assert.assertFalse(verificador.estaOrdenadoAscendentemente(numerosDesordenados));
  98.         Assert.assertFalse(verificador.estaOrdenadoDescendentemente(numerosDesordenados));
  99.     }
  100.    
  101.     @Test
  102.     public void pruebaNumerosIguales (){
  103.        
  104.         int[] numerosIguales = new int[] {1, 1, 1, 1, 1, 1, 1, 1};
  105.        
  106.         Assert.assertTrue(verificador.estaOrdenadoAscendentemente(numerosIguales));
  107.         Assert.assertTrue(verificador.estaOrdenadoDescendentemente(numerosIguales));
  108.     }
  109.    
  110.     @Test (expected = Error.class)
  111.     public void pruebaArrayVacio (){
  112.        
  113.         int arrayVacio [] = new int[]{};
  114.        
  115.         verificador.estaOrdenadoAscendentemente(arrayVacio);
  116.     }
  117.    
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement