Advertisement
KaiserRego

AyP2 - Guía de ejercicios 1

Mar 19th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1. //Ejercicio 7
  2.  
  3. /* Una cerradura con combinación tiene las siguientes propiedades básicas: la combinación
  4.  
  5. (una secuencia de tres números) está oculta, la cerradura sólo se puede abrir si se le
  6.  
  7. provee la combinación correcta, para cerrar la cerradura no hace falta la combinación, la
  8.  
  9. combinación se puede cambiar pero sólo si se conoce la combinación vieja. Implementar
  10.  
  11. en Java la clase CerraduraConCombinación y hacer una clase para testearla.*/
  12.  
  13. public class CerraduraConCombinacion {
  14.    
  15.     private int combinacion;
  16.     private boolean estado;
  17.    
  18.     public CerraduraConCombinacion (int combinacion){
  19.        
  20.         this.combinacion = combinacion;
  21.         estado = false;
  22.     }
  23.    
  24.     public void cerrar(){
  25.        
  26.         if (estado){
  27.             estado = false;
  28.         }
  29.     }
  30.    
  31.     public void abrir (int combinacion){
  32.        
  33.         if (!estado && combinacion == this.combinacion){
  34.             estado = true;
  35.         }
  36.        
  37.         else if (combinacion != this.combinacion){
  38.             Error combinacionErronea = new Error ("La combinación ingresada no es correcta");
  39.             throw combinacionErronea;
  40.         }
  41.        
  42.     }
  43.    
  44.     public void cambiarCombinacion (int viejaCombinacion, int nuevaCombinacion){
  45.        
  46.         if (viejaCombinacion == this.combinacion){
  47.            
  48.             this.combinacion = nuevaCombinacion;
  49.         }
  50.         else{
  51.             Error combinacionErronea = new Error ("La combinación ingresada no es correcta");
  52.             throw combinacionErronea;
  53.         }
  54.     }
  55.    
  56.     public boolean getEstado(){
  57.        
  58.         return (estado);
  59.     }
  60.  
  61. }
  62.  
  63. import org.junit.Assert;
  64. import org.junit.Test;
  65.  
  66. public class PruebaCerraduraConCombinacion {
  67.    
  68.     CerraduraConCombinacion candado = new CerraduraConCombinacion (193);
  69.    
  70.     @Test
  71.     public void pruebaAbrir(){
  72.         candado.abrir(193);
  73.         Assert.assertTrue(candado.getEstado());
  74.         }
  75.    
  76.     @Test
  77.     public void pruebaCerrar(){
  78.         candado.cerrar();
  79.         Assert.assertFalse(candado.getEstado());
  80.     }
  81.    
  82.     @Test
  83.     public void pruebaCambiarCombinacion(){
  84.         candado.cambiarCombinacion(193, 123);
  85.         candado.abrir (123);
  86.         Assert.assertTrue (candado.getEstado());
  87.     }
  88.    
  89.     @Test (expected = Error.class)
  90.     public void pruebaAbrirCombinacionErronea(){
  91.         candado.abrir(111);
  92.     }
  93.    
  94.     @Test (expected = Error.class)
  95.     public void pruebaCambiarCombinacionErronea(){
  96.         candado.cambiarCombinacion(111, 123);
  97.     }
  98.    
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement