/** @(#)TestEstanBrincados.java 2012 Datos de prueba para {@code estanBrincados()}. http://www.di-mare.com/adolfo/cursos/2012-2/p1-ea-1.htm @author Adolfo Di Mare */ import junit.framework.*; // assertTrue() && JUnit /** Datos de prueba para el método {@code estanBrincados()}. */ public class TestEstanBrincados extends TestCase { /** Determina si en la hilera "sub" cada caracter está a una distancia * predefinida desde el caracter anterior. * Por ejemplo, para que aparezca primero la 'h' y luego la 'k' es * necesario que entre esas 2 letras esté el dígito '3': "h3k". * Los caracteres de la hilera "h3k" sí están brincados porque a * partir de la 'h' hay que brincar 3 veces para llegar a la 'k': * { 'h' ? 'i' ? 'j' ? 'k' }. Para que estanBrincados() retorne * verdadero siempre es necesario que los caracteres de la hilera * estén en secuencia perfecta caracter-digito-caracter: "a1b3e0e0e4i1j". */ public static boolean estanBrincados( String str ) { { /* *** RELLENE CON SU ALGORITMO *** */ } } /* test -> estanBrincados(). */ public static void test_estanBrincados() { assertTrue( estanBrincados( "p1q1r1s" ) ); // p-q-r-s assertTrue( estanBrincados( "h3k" ) ); // h-.-.-k assertTrue( estanBrincados( "a1b3e0e0e4i1j" ) ); // 0 sí se vale assertFalse( estanBrincados( "a1c" ) ); // a1b assertFalse( estanBrincados( "AB1C" ) ); // A?B1C assertFalse( estanBrincados( "xyz" ) ); // x?y?z { assertTrue( estanBrincados( "" ) ); assertTrue( estanBrincados( "x" ) ); assertTrue( estanBrincados( "1" ) ); assertTrue( estanBrincados( "1123538" ) ); assertTrue( estanBrincados( "A1B3E0E0E4I1J" ) ); assertTrue( estanBrincados( "!2#1$1%1&1'1(1)1*1+1,1-1.1/") ); assertFalse( estanBrincados( "A1B1" ) ); } } } // EOF: TestEstanBrincados.java