Skip to content

Instantly share code, notes, and snippets.

View soudmaijer's full-sized avatar

Stephan Oudmaijer soudmaijer

View GitHub Profile
val orderOrElse: Order = orderById?.apply {
// do stuff with order
} ?: Order() // orElse with default
val orderOrElseThrow: Order = orderById?.apply {
// do stuff with order
} ?: throw RuntimeException("orElseThrow") // orElseThrow
val orderId: Long? = orderById?.let {
// do stuff with order
fun doStuffWithOrder(id: Long) {
val orderById: Order? = orderRepository.findOrderById(id)
orderById?.run {
// do stuff with order
}
orderById.id // Compiler error: Only safe ?. or non-null asserted calls are allowed on a nullable receiver of type Order?
}
public void doStuffWithOrder(Long id) {
Optional<Order> orderById = orderRepository.findOrderById(id);
orderById.ifPresent( order -> {
// do stuff with order
});
}
import org.springframework.jdbc.core.JdbcTemplate
import org.springframework.jdbc.core.RowMapper
import org.springframework.stereotype.Repository
@Repository
class OrderRepository(private val jdbcTemplate: JdbcTemplate) {
private val rowMapper: RowMapper<Order> = RowMapper { rs, i -> Order(rs.getLong("id")) }
fun findOrderById(id: Long): Order? {
val result = jdbcTemplate.query<Order>("select * from orders where id=:id", rowMapper, id)
import org.springframework.jdbc.core.JdbcTemplate
import org.springframework.jdbc.core.RowMapper
import org.springframework.stereotype.Repository
import java.util.*
@Repository
class OrderRepository(private val jdbcTemplate: JdbcTemplate) {
private val rowMapper: RowMapper<Order> = RowMapper { rs, i -> Order(rs.getLong("id")) }
fun findOrderById(id: Long): Optional<Order> {
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
public class OrderRepository {
private static final RowMapper<Order> rowMapper = (rs, i) -> new Order(rs.getLong("id"));
@RunWith(JMockit::class)
class AddressBookTestKt {
@Injectable
private lateinit var addressBookRepository: AddressBookRepository
@Tested
private lateinit var addressBook: AddressBook
@Test
fun retrieveAddressByIdTest() {
inline fun expectations(crossinline block: KExpectations.() -> Unit) {
object : KExpectations() {
init {
block()
}
}
}
inline fun verifications(crossinline block: KVerifications.() -> Unit) {
object : KVerifications() {
expectations {
// Instruct mocks
}
object : Expectations() {
init {
// Instruct mocks
}
}