Kotlin — Order model (data classes, sealed types, when)
A realistic Kotlin snippet with data classes, an enum, a sealed result interface, extension functions, and when expressions — for testing highlighters, the Kotlin compiler, ktlint, and parsers.
// An order model in Kotlin: data classes, an enum, a sealed result type,
// extension functions, and when expressions.
enum class Status { PENDING, SHIPPED, DELIVERED }
data class LineItem(val name: String, val qty: Int, val unitCents: Int) {
val totalCents: Int get() = qty * unitCents
}
data class Order(val id: String, val status: Status, val items: List<LineItem>)
sealed interface Result<out T> {
data class Ok<T>(val value: T) : Result<T>
data class Err(val message: String) : Result<Nothing>
}
fun Order.totalCents(): Int = items.sumOf { it.totalCents }
fun Order.summary(): String = when (status) {
Status.PENDING -> "Order $id is awaiting shipment"
Status.SHIPPED -> "Order $id is on the way"
Status.DELIVERED -> "Order $id was delivered"
}
fun checkout(order: Order): Result<Int> =
if (order.items.isEmpty()) Result.Err("empty order")
else Result.Ok(order.totalCents())
fun main() {
val order = Order(
id = "A-1001",
status = Status.SHIPPED,
items = listOf(LineItem("Notebook", 3, 450), LineItem("Pen", 10, 120)),
)
println(order.summary())
when (val result = checkout(order)) {
is Result.Ok -> println("total cents: ${result.value}")
is Result.Err -> println("error: ${result.message}")
}
}
Specifications
- Language
- Kotlin
- Kind
- realistic snippet
- Lines
- 41
- Encoding
- UTF-8
- Line Endings
- LF
What is a .kt file?
Kotlin (.kt) is a plain-text source file for the Kotlin programming language — a statically typed, JVM language from JetBrains that interoperates with Java. It is the preferred language for modern Android development and features null safety, data classes, extension functions, and concise syntax.
How to use this file
Use an example .kt file to test syntax highlighters, the Kotlin compiler, linters and formatters (ktlint), and parser or language-detection tooling.
Related files
- ktKotlin — Hello WorldThe classic hello-world in Kotlin — a top-level main function — for testing highlighters, the Kotlin compiler, and parsers.

- cC — Hello WorldThe classic hello-world in C — an include, main, and printf — for testing highlighters, C compilers, and parsers against the canonical first program.

- cC — Linked list (structs, malloc, pointers)A realistic C program: a singly linked list with a typedef struct, malloc/free memory management, pointer walking, and error handling — for testing highlighters, compilers, and static analysers.

- cppC++ — Hello WorldThe classic hello-world in C++ — iostream and std::cout — for testing highlighters, C++ compilers, and parsers.

- cppC++ — Series (class template, STL)A realistic C++ snippet with a class template, STL algorithms (max_element, accumulate), std::move, and range handling — for testing highlighters, g++/clang++, and parsers against real templates.

- cssCSS — Component styles (variables, flexbox, keyframes)A realistic component stylesheet using custom properties, flexbox, a fluid clamp() font size, color-mix(), a keyframe animation, and a media query — for testing CSS parsers, linters (stylelint), and highlighters.

Generated by generation/code_samples.py. Free for any use, no attribution required — license.