# HelloKotlin
Some learning and feature testing with the Kotlin language. Nothing serious.

Since [Google I/O 2017][1], Kotlin is [officially supported][2] by Google For Android Development

![Kotlin][kotlinLogo]

# Features

In this repository, we will work on the following aspects of Kotlin

- [X] Implement some simple exercises to learn language basics
- [X] Implement some basic instrumentation Tests with Kotlin
- [X] Use a package-by-feature structure instead of package-by-layer
- [X] Create a basic architecture using MVP or MVVM
- [X] Pass some advanced Unit tests mocking instances and testing asynchronous calls
- [X] Add mockito-kotlin to clean Mockito boilerplate in tests
- [X] Apply Ktlint to a Kotlin project and see how it works
- [ ] Add a branch that includes tests with kotlintest to see how it improves readability
- [ ] Add a branch that includes tests with Spek to see how it improves readability
- [X] Add some example usage of Kotlin Coroutines to understand how they work
- [X] Use Coroutines in tests with kotlinx.coroutines and Anko async/doAsync blocks
- [ ] Use mockK for mocking as an alternative to JUnit + Mockito

[kotlinLogo]: ./images/kotlin.png
[1]: https://posts.google.com/share/JWxzxRt3
[2]: https://posts.google.com/share/JWxzxRt3/rKkRn1

# HelloKotlin

[![Build Status](https://travis-ci.org/voghDev/HelloKotlin.svg?branch=master)](https://travis-ci.org/voghDev/HelloKotlin)

Some learning and feature testing with the Kotlin language. Nothing serious.

Since [Google I/O 2017][1], Kotlin is [officially supported][2] by Google For Android Development

![Kotlin][kotlinLogo]

# Features

In this repository, we will work on the following aspects of Kotlin

- [X] Implement some simple exercises to learn language basics
- [X] Implement some basic instrumentation Tests with Kotlin
- [X] Use a package-by-feature structure instead of package-by-layer
- [X] Create a basic architecture using MVP or MVVM
- [X] Pass some advanced Unit tests mocking instances and testing asynchronous calls
- [X] Add mockito-kotlin to clean Mockito boilerplate in tests
- [X] Apply Ktlint to a Kotlin project and see how it works
- [ ] Add a branch that includes tests with kotlintest to see how it improves readability
- [ ] Add a branch that includes tests with Spek to see how it improves readability
- [X] Add some example usage of Kotlin Coroutines to understand how they work
- [X] Use Coroutines in tests with kotlinx.coroutines and Anko async/doAsync blocks
- [ ] Use mockK for mocking as an alternative to JUnit + Mockito

[kotlinLogo]: ./images/kotlin.png
[1]: https://posts.google.com/share/JWxzxRt3
[2]: https://posts.google.com/share/JWxzxRt3/rKkRn1

Add travis badge to readme
Add travis badge to readme
