☝ It's failing because tests are not solved yet! 😊
According to www.codekatas.org
Code Kata is a term coined by Dave Thomas, co-author of the book The Pragmatic Programmer, in a bow to the Japanese concept of kata in the martial arts. A code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition.
Also refer codekata.com
The Java8 Code Kata is created to walk-through java8 new API functions. I hope this helps you learn Java8 and get used to it. Repeating exercises will definitely upgrade your skills.
- Resolve dependencies.
$ pwd
/path/to/java8-code-kata
$ ./mvnw dependency:resolve
-> will download the dependent jar files in your .m2 directory.
- Edit the unit tests to pass them by following its description.
Test sample.
@Easy @Test
public void simpleAddition() {
/**
* Get an addition result of 1 and 2 by using an operator "+".
*/
Integer added = null;
assertThat(added, is(3));
}
You need to edit the program under the comment.
Solution sample.
@Easy @Test
public void simpleAddition() {
/**
* Get an addition result of 1 and 2 by using an operator "+".
*/
Integer added = 1 + 2;
assertThat(added, is(3));
}
Most tests are annotated with @Easy
which means those tests only requires basic knowledge.
Tests annotated with @Difficult
expect you to think a lot 😁
Check the 'solution' branch, but please try to solve by yourself at first.
- Exercise1Test.java
Iterable#forEach
, Collection#removeIf
, List#replaceAll
, List#sort
, Collection#stream
and Collection#parallelStream
- Exercise2Test.java
Map#getOrDefault
, Map#putIfAbsent
, Map#merge
and Map#computeIfPresent
- Exercise1Test.java
Stream#filter
and Stream#map
- Exercise2Test.java
Stream#sorted
, Stream#distinct
, Stream#limit
and Stream#flatMap
- Exercise3Test.java
Stream#count
, Stream#max
and Stream#min
- Exercise4Test.java
Stream#findFirst
, Stream#allMatch
, Stream#anyMatch
and Stream#noneMatch
- Exercise5Test.java
Stream#collect
and Collectors
- Exercise6Test.java
Stream#of
and Stream#iterate
- Exercise7Test.java
IntStream
, LongStream
and DoubleStream
- Exercise8Test.java
Advanced problems
- Exercise9Test.java
Collector
- Exercise1Test.java
LocalDate#of
, LocalDate#parse
, LocalDate#with
, LocalDate#plus
, LocalDate#minus
, LocalDate#isAfter
, LocalDate#isBefore
and LocalDate#until
- Exercise2Test.java
LocalTime#of
, LocalTime#parse
, LocalTime#with
, LocalTime#plus
, LocalTime#minus
, LocalTime#isAfter
, LocalTime#isBefore
and LocalTime#truncatedTo
- Exercise3Test.java
LocalDateTime#of
, LocalDateTime#parse
, LocalDateTime#format
, LocalDateTime#toLocalDate
, LocalDateTime#toLocalTime
, LocalDate#atTime
and LocalTime#atDate
- Exercise4Test.java
ZonedDateTime#of
, ZonedDateTime#parse
, ZonedDateTime#format
, LocalDateTime#atZone
, ZonedDateTime#withZoneSameInstant
and ZonedDateTime#withZoneSameLocal
- Exercise5Test.java
LocalDateTime
to java.sql.Timestamp
, LocalDate
to java.sql.Date
, and vice versa