206 lines
6.4 KiB
Java
206 lines
6.4 KiB
Java
import static org.junit.Assert.*;
|
|
import org.junit.After;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import java.util.Arrays;
|
|
|
|
/**
|
|
* The test class ArrayExperimenteTest.
|
|
*
|
|
* @author Urs Lautebach
|
|
* @version 2017-10
|
|
*/
|
|
public class ArrayExperimenteTest
|
|
{
|
|
/**
|
|
* Sets up the test fixture.
|
|
*
|
|
* Called before every test case method.
|
|
*/
|
|
@Before
|
|
public void setUp()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Tears down the test fixture.
|
|
*
|
|
* Called after every test case method.
|
|
*/
|
|
@After
|
|
public void tearDown()
|
|
{
|
|
}
|
|
|
|
@Test
|
|
public void testistEnthalten()
|
|
{
|
|
int[] testArray = new int[] {1, -43, 1000, 1000, 3, 4, 13, 1000, 70, -41};
|
|
assertTrue(ArrayExperimente.istEnthalten(1000, testArray));
|
|
assertTrue(ArrayExperimente.istEnthalten(-41, testArray));
|
|
assertTrue(ArrayExperimente.istEnthalten(1, testArray));
|
|
assertFalse(ArrayExperimente.istEnthalten(77, testArray));
|
|
|
|
testArray = new int[] {66};
|
|
assertTrue(ArrayExperimente.istEnthalten(66, testArray));
|
|
assertFalse(ArrayExperimente.istEnthalten(77, testArray));
|
|
|
|
testArray = new int[] {};
|
|
assertFalse(ArrayExperimente.istEnthalten(77, testArray));
|
|
}
|
|
|
|
@Test
|
|
public void testindexVon()
|
|
{
|
|
int[] testArray = new int[] {1, -43, 1000, 1000, 3, 4, 13, 1000, 70, -41};
|
|
assertEquals(0, ArrayExperimente.indexVon(1, testArray));
|
|
assertEquals(1, ArrayExperimente.indexVon(-43, testArray));
|
|
assertEquals(9, ArrayExperimente.indexVon(-41, testArray));
|
|
assertEquals(-1, ArrayExperimente.indexVon(1231, testArray));
|
|
|
|
testArray = new int[] {66};
|
|
assertEquals(-1, ArrayExperimente.indexVon(1231, testArray));
|
|
assertEquals(0, ArrayExperimente.indexVon(66, testArray));
|
|
|
|
testArray = new int[] {};
|
|
assertEquals(-1, ArrayExperimente.indexVon(1231, testArray));
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
public void testmaxWert()
|
|
{
|
|
int[] testArray = new int[] {1, -43, 1000, 1000, 3, 4, 13, 1000, 70, -41};
|
|
assertEquals(1000, ArrayExperimente.maxWert(testArray));
|
|
|
|
testArray = new int[] {0, -43, -41};
|
|
assertEquals(0, ArrayExperimente.maxWert(testArray));
|
|
|
|
testArray = new int[] {-43, -41};
|
|
assertEquals(-41, ArrayExperimente.maxWert(testArray));
|
|
|
|
testArray = new int[] {66};
|
|
assertEquals(66, ArrayExperimente.maxWert(testArray));
|
|
}
|
|
|
|
@Test
|
|
public void testmaxIndex()
|
|
{
|
|
int[] testArray = new int[] {1, -43, 1000, 3, 4, 13, 70, -41};
|
|
assertEquals(2, ArrayExperimente.maxIndex(testArray));
|
|
|
|
testArray = new int[] {1, -43, 1000, 3, 4, 13, 70, -41, 5367};
|
|
assertEquals(8, ArrayExperimente.maxIndex(testArray));
|
|
|
|
testArray = new int[] {0, -43, -41};
|
|
assertEquals(0, ArrayExperimente.maxIndex(testArray));
|
|
|
|
testArray = new int[] {-43, -41};
|
|
assertEquals(1, ArrayExperimente.maxIndex(testArray));
|
|
|
|
testArray = new int[] {-41};
|
|
assertEquals(0, ArrayExperimente.maxIndex(testArray));
|
|
}
|
|
|
|
@Test
|
|
public void testquersumme()
|
|
{
|
|
int[] testArray = new int[] {1, -43, 3, 4, 13, 70, -41};
|
|
assertEquals(7, ArrayExperimente.querSumme(testArray));
|
|
|
|
testArray = new int[] {0, -43, -41};
|
|
assertEquals(-84, ArrayExperimente.querSumme(testArray));
|
|
|
|
// einelementiges Array:
|
|
testArray = new int[] {51};
|
|
assertEquals(51, ArrayExperimente.querSumme(testArray));
|
|
}
|
|
|
|
@Test
|
|
public void testaddiereJeweilsD()
|
|
{
|
|
int[] arrayVorher = new int[] {1, -43, 3, 4, 13, 70, -41};
|
|
int[] testArray = new int[] {1, -43, 3, 4, 13, 70, -41};
|
|
|
|
int dazu = 1;
|
|
ArrayExperimente.addiereJeweilsD(testArray, dazu);
|
|
|
|
int idx = 0;
|
|
while(idx < testArray.length)
|
|
{
|
|
if( testArray[idx] != arrayVorher[idx] + dazu )
|
|
{
|
|
fail("Arrays unterscheiden sich an der Position " + idx + "!");
|
|
}
|
|
idx ++ ;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
public void testarrayUmdrehen()
|
|
{
|
|
// Array mit ungerader Laenge:
|
|
int[] drehmich = new int[] { 1, -43, 3, 4, 13, 70, -41 };
|
|
int[] rumgedreht = ArrayExperimente.arrayUmdrehen(drehmich);
|
|
assertEquals(drehmich.length, rumgedreht.length);
|
|
|
|
int idx = 0;
|
|
while(idx < drehmich.length) {
|
|
if( rumgedreht[idx] != drehmich[ rumgedreht.length - 1 - idx ] ) {
|
|
fail("Ergebnisarray falsch bei Index " + idx + "!");
|
|
}
|
|
idx ++ ;
|
|
}
|
|
|
|
// Array mit gerader Laenge:
|
|
drehmich = new int[] { 1, -43, 3, 4, 70, -41 };
|
|
rumgedreht = ArrayExperimente.arrayUmdrehen(drehmich);
|
|
assertEquals(drehmich.length, rumgedreht.length);
|
|
|
|
idx = 0;
|
|
while(idx < drehmich.length) {
|
|
if( rumgedreht[idx] != drehmich[ rumgedreht.length - 1 - idx ] ) {
|
|
fail("Ergebnisarray falsch bei Index " + idx + "!");
|
|
}
|
|
idx ++ ;
|
|
}
|
|
|
|
// Array mit Laenge 1:
|
|
drehmich = new int[] { 1 };
|
|
rumgedreht = ArrayExperimente.arrayUmdrehen(drehmich);
|
|
assertEquals(drehmich.length, rumgedreht.length);
|
|
|
|
idx = 0;
|
|
while(idx < drehmich.length) {
|
|
if( rumgedreht[idx] != drehmich[ rumgedreht.length - 1 - idx ] ) {
|
|
fail("Ergebnisarray falsch bei Index " + idx + "!");
|
|
}
|
|
idx ++ ;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private boolean[][] binaer =
|
|
{
|
|
{ false, false, false, false, false, false, false, false } , /* 0 */
|
|
{ false, true , true , true , true , true , true , true } , /* 127 */
|
|
{ false, false, false, false, false, true , true , true } , /* 7 */
|
|
{ false, true , true , false, false, false, false, false } , /* 96 */
|
|
{ false, false, true , false, false, true , false, false } , /* 36 */
|
|
{ false, false, false, false, false, true , false, true } , /* 5 */
|
|
{ false, false, false, false, false, true , false, false } , /* 4 */
|
|
{ false, false, false, true , false, false, false, true } , /* 17 */
|
|
{ false, true , false, false, false, false, false, true } , /* 65 */
|
|
{ false, false, false, false, false, false, false, true } , /* 1 */
|
|
|
|
};
|
|
|
|
private byte[] dezimal = { 0, 127, 7, 96, 36, 5, 4, 17, 65, 1};
|
|
|
|
|
|
}
|