Java_2/src/test/java/de/joethei/hs/java2/tests/CharCollectionTest2.java

114 lines
3.7 KiB
Java

package de.joethei.hs.java2.tests;
import de.joethei.hs.java2.praktikum.praktikum2.CharCollection;
import org.junit.Before;
import org.junit.Test;
import java.util.Arrays;
import static org.junit.Assert.*;
public class CharCollectionTest2 {
private CharCollection a, b, c, d;
@Before
public void setUp()
{
a = new CharCollection('A', 'N', 'A', 'N', 'A', 'S');
b = new CharCollection('H', 'O', 'C', 'H', 'S', 'C', 'H', 'U', 'L', 'E');
c = new CharCollection("AAANNS");
d = new CharCollection();
}
@Test
public void Laenge(){
assertEquals(6,a.size());
assertEquals(10,b.size());
assertEquals(6,c.size());
assertEquals(0,d.size());
}
@Test
public void Anzahl(){
assertEquals(2,a.count('N'));
assertEquals(0,a.count('X'));
assertEquals(3,b.count('H'));
assertEquals(1,c.count('S'));
assertEquals(0,d.count('H'));
}
@Test
public void Verschieden(){
assertEquals(3,a.different());
assertEquals(7,b.different());
assertEquals(3,c.different());
assertEquals(0,d.different());
}
@Test
public void Haeufigster(){
assertEquals('A',a.top());
assertEquals('H',b.top());
assertEquals('A',c.top());
assertEquals(0,d.top());
}
@Test
public void Vergleich(){
assertEquals(a, c);
assertEquals(b, new CharCollection("CCEHHHLOSU"));
assertNotEquals(b, new CharCollection("CEHLOSU"));
assertEquals(d, new CharCollection(""));
}
@Test
public void Ausgabe(){
assertEquals(a.toString().length(),c.toString().length());
assertEquals(b.toString().length(),new CharCollection("CCEHHHLOSU").toString().length());
assertEquals("()",d.toString());
char[] aa = a.toString().toCharArray();
char[] ca = c.toString().toCharArray();
Arrays.sort(aa);
Arrays.sort(ca);
assertTrue(Arrays.equals(aa, ca));
char[] ba = b.toString().toCharArray();
char[] b2a = "(C, C, H, H, H, L, O, E, S, U)".toCharArray();
Arrays.sort(ba);
Arrays.sort(b2a);
assertTrue(Arrays.equals(ba, b2a));
}
@Test
public void Mindestens(){
assertEquals(a.moreThan(1), new CharCollection("AAANN"));
assertEquals(a.moreThan(2), new CharCollection("AAA"));
assertEquals("(A, A, A)",a.moreThan(2).toString());
assertEquals(b.moreThan(1), new CharCollection("CCHHH"));
assertEquals(b.moreThan(3), new CharCollection(""));
assertEquals("()",b.moreThan(3).toString());
}
@Test
public void Differenz(){
assertEquals(a.except(new CharCollection("NASE")), new CharCollection("AAN"));
assertEquals(a.except(new CharCollection("KIWI")), new CharCollection("ANANAS"));
assertEquals(a.except(new CharCollection()), new CharCollection("ANANAS"));
assertEquals(a.except(new CharCollection("ANANAS")), new CharCollection());
assertEquals(b.except(new CharCollection("CHHO")), new CharCollection("SCHULE"));
assertEquals(c.except(new CharCollection("HOSIANNA")), new CharCollection('A'));
assertEquals(d.except(new CharCollection("ABCD")), new CharCollection());
}
@Test
public void Untermenge(){
assertTrue(a.isSubset(new CharCollection("ANANAS")));
assertTrue(a.isSubset(new CharCollection("NASA")));
assertTrue(a.isSubset(new CharCollection("")));
assertFalse(a.isSubset(new CharCollection("NASE")));
assertFalse(a.isSubset(new CharCollection("AAAA")));
}
}