Skip to content

Commit

Permalink
test: Kotlin syntax test file
Browse files Browse the repository at this point in the history
  • Loading branch information
starsep authored and sharkdp committed Oct 5, 2020
1 parent 3af7a6b commit 3aabed4
Show file tree
Hide file tree
Showing 2 changed files with 170 additions and 0 deletions.
85 changes: 85 additions & 0 deletions tests/syntax-tests/highlighted/Kotlin/test.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import kotlin.math.*

data class Example(
 val name: String,
 val numbers: List<Int?>
)

fun interface JokeInterface {
 fun isFunny(): Boolean
}

abstract class AbstractJoke : JokeInterface {
 override fun isFunny() = false
 abstract fun content(): String
}

class Joke : AbstractJoke() {
 override fun isFunny(): Boolean {
 return true
 }
 override fun content(): String = "content of joke here, haha"
}

class DelegatedJoke(val joke: Joke) : JokeInterface by joke {
 val number: Long = 123L

 companion object {
 const val someConstant = "some constant text"
 }
}

object SomeSingleton

sealed class Shape {
 abstract fun area(): Double
}

data class Square(val sideLength: Double) : Shape() {
 override fun area(): Double = sideLength.pow(2)
}

object Point : Shape() {
 override fun area() = .0
}

class Circle(val radius: Double) : Shape() {
 override fun area(): Double {
 return PI * radius * radius
 }
}

fun String.extensionMethod() = "test"

fun main() {
 val name = """
 multiline
 string
 
 some numbers: 123123 42
 """.trimIndent()
 val example = Example(name = name, numbers = listOf(512, 42, null, -1))

 example.numbers
 .filterNotNull()
 .forEach { println(it) }

 setOf(Joke(), DelegatedJoke(Joke()).joke)
 .filter(JokeInterface::isFunny)
 .map(AbstractJoke::content)
 .forEachIndexed { index: Int, joke ->
 println("I heard a funny joke(#${index + 1}): $joke")
 }

 listOf(Square(12.3), Point, Circle(5.2))
 .associateWith(Shape::area)
 .toList()
 .sortedBy { it.second }
 .forEach {
 println("${it.first}: ${it.second}")
 }

 println("some string".extensionMethod())

 require(SomeSingleton::class.simpleName == "SomeSingletonName") { "something does not seem right..." }
}
85 changes: 85 additions & 0 deletions tests/syntax-tests/source/Kotlin/test.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import kotlin.math.*

data class Example(
val name: String,
val numbers: List<Int?>
)

fun interface JokeInterface {
fun isFunny(): Boolean
}

abstract class AbstractJoke : JokeInterface {
override fun isFunny() = false
abstract fun content(): String
}

class Joke : AbstractJoke() {
override fun isFunny(): Boolean {
return true
}
override fun content(): String = "content of joke here, haha"
}

class DelegatedJoke(val joke: Joke) : JokeInterface by joke {
val number: Long = 123L

companion object {
const val someConstant = "some constant text"
}
}

object SomeSingleton

sealed class Shape {
abstract fun area(): Double
}

data class Square(val sideLength: Double) : Shape() {
override fun area(): Double = sideLength.pow(2)
}

object Point : Shape() {
override fun area() = .0
}

class Circle(val radius: Double) : Shape() {
override fun area(): Double {
return PI * radius * radius
}
}

fun String.extensionMethod() = "test"

fun main() {
val name = """
multiline
string
some numbers: 123123 42
""".trimIndent()
val example = Example(name = name, numbers = listOf(512, 42, null, -1))

example.numbers
.filterNotNull()
.forEach { println(it) }

setOf(Joke(), DelegatedJoke(Joke()).joke)
.filter(JokeInterface::isFunny)
.map(AbstractJoke::content)
.forEachIndexed { index: Int, joke ->
println("I heard a funny joke(#${index + 1}): $joke")
}

listOf(Square(12.3), Point, Circle(5.2))
.associateWith(Shape::area)
.toList()
.sortedBy { it.second }
.forEach {
println("${it.first}: ${it.second}")
}

println("some string".extensionMethod())

require(SomeSingleton::class.simpleName == "SomeSingletonName") { "something does not seem right..." }
}

0 comments on commit 3aabed4

Please sign in to comment.