Skip to content

ozidna/KataJava8

Repository files navigation

Java8 Code Kata Build Status

☝ It's failing because tests are not solved yet! 😊

What is Code Kata?

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

What is Java8 Code Kata?

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.

Usage

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.

@Test @Necessity(true) 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.

@Test @Necessity(true) 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 @Necessity(true) which means the test only requires basic knowledge.

Tests annotated with @Necessity(false) are more difficult and need to think to solve them.

Where are the answers?

Check the 'solution' branch, but please try to solve by yourself at first.

Modules

collection-interfaces

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

stream-api

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

date-and-time-api

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published