Gemeinsames Lernen
This commit is contained in:
57
src/org/eidecker/mapreduce/DistanceCounter.java
Normal file
57
src/org/eidecker/mapreduce/DistanceCounter.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package org.eidecker.mapreduce;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* @author seidecke.
|
||||
*/
|
||||
public class DistanceCounter {
|
||||
|
||||
private static Integer komplizierteBerechnungMitRestCall(Integer strecke, Integer strecke2) {
|
||||
return strecke2 - strecke;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDistanceSum() {
|
||||
assertEquals(55, distanceSum(orte()));
|
||||
}
|
||||
|
||||
private Integer distanceSum(List<Stopp> orte) {
|
||||
Optional<Integer> distanceSum = orte.stream()
|
||||
.map(Stopp::getWichtigeDingeZurBerechnung)
|
||||
.reduce(DistanceCounter::komplizierteBerechnungMitRestCall);
|
||||
|
||||
return distanceSum.orElse(0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private List<Stopp> orte() {
|
||||
return IntStream.rangeClosed(1,10).boxed().map(Stopp::new).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
// private BinaryOperator<Ort> distanceAdder = (ort, ort2) -> ort2.getWert() - ort.getWert();
|
||||
//
|
||||
// private BiFunction<Ort, Ort, Integer> distanceAdder = (ort, ort2) -> ort2.getWert() - ort.getWert();
|
||||
|
||||
class Stopp {
|
||||
Integer wert;
|
||||
|
||||
public Stopp(Integer wert) {
|
||||
this.wert = wert;
|
||||
}
|
||||
|
||||
public Integer getWichtigeDingeZurBerechnung() {
|
||||
return wert;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
46
src/org/eidecker/oca8lernen/general/CastExceptions.java
Normal file
46
src/org/eidecker/oca8lernen/general/CastExceptions.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package org.eidecker.oca8lernen.general;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* @author seidecke.
|
||||
*/
|
||||
public class CastExceptions {
|
||||
|
||||
@Test
|
||||
public void testCastExceptions() {
|
||||
|
||||
OberCast eigentlichUnter = new UnterCast();
|
||||
OberCast wirklichOber = new OberCast();
|
||||
UnterCast purUnter = new UnterCast();
|
||||
|
||||
Außerhalb außerhalb = new Außerhalb();
|
||||
|
||||
OberCast ober = purUnter;
|
||||
|
||||
UnterCast unter = (UnterCast) eigentlichUnter;
|
||||
|
||||
// Runtime-Exception, da innerhalb der Typenhierarchie
|
||||
assertThrows(ClassCastException.class, () -> {
|
||||
UnterCast unter3 = (UnterCast) wirklichOber;
|
||||
});
|
||||
|
||||
// Compilefehler, da Versuch des Casts außerhalb der Typenhierarchie
|
||||
// UnterCast unter2 = (UnterCast) außerhalb;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
class OberCast {
|
||||
|
||||
}
|
||||
|
||||
class UnterCast extends OberCast {
|
||||
|
||||
}
|
||||
|
||||
class Außerhalb {
|
||||
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package org.eidecker.oca8lernen.general;
|
||||
|
||||
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.AccessDeniedException;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class TestInterfaces {
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
package org.eidecker.oca8lernen.general;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_BYTE;
|
||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_CHAR;
|
||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_CHARACTER;
|
||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_INT;
|
||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_INTEGER;
|
||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_LONG_PRIMITIVE;
|
||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_LONG_WRAPPER;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.*;
|
||||
import static org.eidecker.oca8lernen.general.Overloading.*;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class OverloadingTester {
|
||||
|
||||
@@ -21,6 +25,9 @@ class OverloadingTester {
|
||||
SubOverloading subOverloading = new SubOverloading();
|
||||
System.out.println(subOverloading.staticString);
|
||||
System.out.println(subOverloading.overrideStatic());
|
||||
|
||||
List l = null;
|
||||
subOverloading.overloadMe(l);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
67
src/org/eidecker/oca8lernen/general/StringIndex.java
Normal file
67
src/org/eidecker/oca8lernen/general/StringIndex.java
Normal file
@@ -0,0 +1,67 @@
|
||||
package org.eidecker.oca8lernen.general;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* @author seidecke.
|
||||
*/
|
||||
public class StringIndex {
|
||||
|
||||
private static String testString = "1234567890";
|
||||
|
||||
@Test
|
||||
public void testSomeStrings() {
|
||||
assertEquals('3', testString.charAt(2));
|
||||
assertEquals("67890", testString.substring(5));
|
||||
assertEquals("67", testString.substring(5,7));
|
||||
assertEquals("", testString.substring(5,5));
|
||||
assertEquals(10, testString.length());
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> testString.substring(-1));
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> testString.substring(5,4));
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> testString.substring(5,11));
|
||||
|
||||
String s = "123456";
|
||||
assertEquals("1234567", s += "7");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSomeStringBuilders() {
|
||||
StringBuilder testStringBuilder = new StringBuilder("1234567890");
|
||||
|
||||
assertEquals('3', testStringBuilder.charAt(2));
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertEquals("67890", testStringBuilder.substring(5));
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertEquals("67", testStringBuilder.substring(5,7));
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertEquals("", testStringBuilder.substring(5,5));
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertEquals(10, testStringBuilder.length());
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").substring(-1));
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").substring(5,4));
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").substring(5,11));
|
||||
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").delete(13,1));
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").insert(11,"Hallo"));
|
||||
|
||||
// null direkt nicht moeglich, da ueberladene Methode nicht bestimmt werden kann
|
||||
// testStringBuilder.insert(1, null);
|
||||
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertEquals("12345890", testStringBuilder.delete(5,7).toString());
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertEquals("71234567890", testStringBuilder.insert(0,7).toString());
|
||||
testStringBuilder = new StringBuilder("1234567890");
|
||||
assertEquals("1true234567890", testStringBuilder.insert(1,true).toString());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
30
src/org/eidecker/test/OptionalAPI.java
Normal file
30
src/org/eidecker/test/OptionalAPI.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package org.eidecker.test;
|
||||
|
||||
import java.util.Optional;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* @author seidecke.
|
||||
*/
|
||||
public class OptionalAPI {
|
||||
|
||||
@Test
|
||||
public void testOptionalMapping() {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
class DataHolder {
|
||||
public Optional<String> value;
|
||||
|
||||
public DataHolder() {
|
||||
value = Optional.empty();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user