/** @(#)TestRotador.java 2009 adolfo@di-mare.com Datos de prueba para {@code rotaIzquierdo()}. @author Adolfo Di Mare */ import junit.framework.*; /** Datos de prueba para la rutina {@code rotaIzquierdo()}. */ public class TestRotador extends TestCase { /** Rota {@code n} posiciones hacia la izquierda los valores del vector {@code V[]}. */ public static void rotaIzquierdo( int n , int V[] ) { if ( V.equals(null) ) { // V[] no existe todavía return; } else if ( V.length==0 ) { return; } n = n % V.length; if ( n < 0 ) { n += V.length; } if ( n==0 ) { return; } // VEC_copia[] es una copia "rotada" del vector V[] int VEC_copia[] = new int[V.length]; int LEN_n = V.length-n; { /******************************\ * * * RELLENE CON SU ALGORITMO * * * \******************************/ } // Copia en su lugar el vector final for ( int i=0; i {@code rotaIzquierdo()}. */ public void test_rotaIzquierdo() { { int V[]={4,5,6,7,1,2 }; rotaIzquierdo( 4 , V ); int R[]={1,2,4,5,6,7 }; assertTrue( isEqual( V,R ) ); } { int V[]={5,6,7,1,2,3 }; rotaIzquierdo( 3 , V ); int R[]={1,2,3,5,6,7 }; assertTrue( isEqual( V,R ) ); } { int V[]={0,1,2,3,4,5 }; rotaIzquierdo( 1 , V ); int R[]={1,2,3,4,5,0 }; assertTrue( isEqual( V,R ) ); } { int V[]={4,5,6,7,1,2,3}; rotaIzquierdo( 4 , V ); int R[]={1,2,3,4,5,6,7}; assertTrue( isEqual( V,R ) ); } { int V[]={5,6,7,1,2,3,4}; rotaIzquierdo( 3 , V ); int R[]={1,2,3,4,5,6,7}; assertTrue( isEqual( V,R ) ); } { int V[]={0,1,2,3,4,5,6}; rotaIzquierdo( 1 , V ); int R[]={1,2,3,4,5,6,0}; assertTrue( isEqual( V,R ) ); } { int V[]={1,2,3,4,5 }; rotaIzquierdo( 0 , V ); int R[]={1,2,3,4,5 }; assertTrue( isEqual( V,R ) ); } { int V[]={1,2,3,4,5,6 }; rotaIzquierdo( 0 , V ); int R[]={1,2,3,4,5,6 }; assertTrue( isEqual( V,R ) ); } { int V[]={5,6,7,1,2,3,4}; rotaIzquierdo( -4 , V ); int R[]={1,2,3,4,5,6,7}; assertTrue( isEqual( V,R ) ); } { int V[]={ }; rotaIzquierdo( 3 , V ); int R[]={ }; assertTrue( isEqual( V,R ) ); } } /** Verifica que los vectores {@code L[]} y {@code R[]} tengan exactamente los mismos valores */ public static boolean isEqual( int L[] , int R[] ) { if ( L.length != R.length ) { return false; } for ( int i=0; i