Witam serdecznie.
Mam problem z jednym zadań z kursu - napisany przeze mnie kod zwraca mi wartość zero. Zadanie (Streszczone) wymaga:
- Utworzenia w pakiecie klas Country, Continent i World, oraz w pakiecie testowym WorldTestSuite.
- Klasa Country ma udostępniać metodę getPeopleQuantity() zwracającą liczbę typu BigDecimal.
- Klasa Continent powinna zawierać kolekcję krajów leżących na tym kontynencie.
- Klasa World powinna zawierać kolekcję kontynentów.
- W klasie World ma znaleźć się metoda getPeopleQuantity() zwracającą BigDecimal. Metoda oblicza sumę ludności używając flatMap() oraz reduce().
- Działanie metody testowane oczywiście w testSuite ;P
Cały napisany przeze mnie kod załączam w postaci snippetów.
Podejrzewam, że błąd popełniłem w poniższym fragmencie
public BigDecimal getPeopleQuantity(){
return continentsOnWorld.stream()
.flatMap(continent -> continent.getCountriesOnContinent().stream())
.map(Country::getPeopleQuantity)
.reduce(BigDecimal.ZERO, (sum, current) -> sum = sum.add(current));
}