104 lines
3.4 KiB
Java
104 lines
3.4 KiB
Java
|
|
import static org.junit.Assert.*;
|
|
import org.junit.After;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
|
|
/**
|
|
* Die Test-Klasse Stringuebungen_MLTest.
|
|
*
|
|
* @author Urs Lautebach
|
|
* @version 2019-12
|
|
*/
|
|
public class StringuebungenTest {
|
|
/**
|
|
* Konstruktor fuer die Test-Klasse Stringuebungen_MLTest
|
|
*/
|
|
public StringuebungenTest() {
|
|
}
|
|
|
|
/**
|
|
* Setzt das Testgerüst fuer den Test.
|
|
*
|
|
* Wird vor jeder Testfall-Methode aufgerufen.
|
|
*/
|
|
@Before
|
|
public void setUp() {
|
|
}
|
|
|
|
/**
|
|
* Gibt das Testgerüst wieder frei.
|
|
*
|
|
* Wird nach jeder Testfall-Methode aufgerufen.
|
|
*/
|
|
@After
|
|
public void tearDown() {
|
|
}
|
|
|
|
@Test
|
|
public void testAnzahlVorkommen() {
|
|
// Buchstaben, die ein- und mehrfach vorkommen:
|
|
assertEquals(3, Stringuebungen.anzahlVorkommen("Barbara", 'a'));
|
|
assertEquals(2, Stringuebungen.anzahlVorkommen("Barbara", 'r'));
|
|
assertEquals(1, Stringuebungen.anzahlVorkommen("Barbara", 'B'));
|
|
|
|
// kein Vorkommen:
|
|
assertEquals(0, Stringuebungen.anzahlVorkommen("Barbara", 'x'));
|
|
|
|
// letzten Buchstaben suchen:
|
|
assertEquals(1, Stringuebungen.anzahlVorkommen("Wald", 'd'));
|
|
|
|
// Im leeren String suchen (darf keinen Fehler ausloesen):
|
|
assertEquals(0, Stringuebungen.anzahlVorkommen("", 'a'));
|
|
}
|
|
|
|
@Test
|
|
public void testRueckwaerts() {
|
|
assertEquals("", Stringuebungen.rueckwaerts(""));
|
|
assertEquals("1", Stringuebungen.rueckwaerts("1"));
|
|
assertEquals("21", Stringuebungen.rueckwaerts("12"));
|
|
assertEquals("cba", Stringuebungen.rueckwaerts("abc"));
|
|
assertEquals("EISLAUF", Stringuebungen.rueckwaerts("FUALSIE"));
|
|
assertEquals("+3-2-1", Stringuebungen.rueckwaerts("1-2-3+"));
|
|
}
|
|
|
|
@Test
|
|
public void testIstPalindrom() {
|
|
assertFalse(Stringuebungen.istPalindrom("lalala"));
|
|
assertFalse(Stringuebungen.istPalindrom("Bob"));
|
|
|
|
assertTrue(Stringuebungen.istPalindrom("bob"));
|
|
assertTrue(Stringuebungen.istPalindrom("alalalalalalalala"));
|
|
assertTrue(Stringuebungen.istPalindrom("asDf...fDsa"));
|
|
|
|
assertTrue(Stringuebungen.istPalindrom(""));
|
|
assertTrue(Stringuebungen.istPalindrom("RELIEFPFEILER"));
|
|
assertTrue(Stringuebungen.istPalindrom("EINNEGERMITGAZELLEZAGTIMREGENNIE"));
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
public void testSindAnagramme() {
|
|
assertTrue(Stringuebungen.sindAnagramme("", ""));
|
|
assertTrue(Stringuebungen.sindAnagramme(" ", ""));
|
|
assertTrue(Stringuebungen.sindAnagramme("a", "a"));
|
|
assertTrue(Stringuebungen.sindAnagramme("abc", "bca"));
|
|
assertTrue(Stringuebungen.sindAnagramme("Staufens", "sauen fst"));
|
|
assertTrue(Stringuebungen.sindAnagramme("Baren bara", "ABarbaren"));
|
|
assertTrue(Stringuebungen.sindAnagramme("Frodos Ehe", "Sehr doofe"));
|
|
|
|
assertFalse(Stringuebungen.sindAnagramme("informatik", "kitamrofn"));
|
|
assertFalse(Stringuebungen.sindAnagramme("dudeldei", "leude"));
|
|
}
|
|
|
|
@Test
|
|
public void testCaesarChiffrieren() {
|
|
assertEquals("", Stringuebungen.caesarChiffrieren("", 3));
|
|
assertEquals("GUTENMORGEN", Stringuebungen.caesarChiffrieren("GUTEN MORGEN", 26));
|
|
assertEquals("KZQHEZQH", Stringuebungen.caesarChiffrieren("larifari", 25));
|
|
assertEquals("DEF", Stringuebungen.caesarChiffrieren("abc", 3));
|
|
assertEquals("FFFCCC", Stringuebungen.caesarChiffrieren("aaa xxx", 5));
|
|
}
|
|
}
|