This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public void doStuffWithOrder(Long id) { | |
Optional<Order> orderById = orderRepository.findOrderById(id); | |
orderById.ifPresent( order -> { | |
// do stuff with order | |
}); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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")); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@RunWith(JMockit::class) | |
class AddressBookTestKt { | |
@Injectable | |
private lateinit var addressBookRepository: AddressBookRepository | |
@Tested | |
private lateinit var addressBook: AddressBook | |
@Test | |
fun retrieveAddressByIdTest() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
inline fun expectations(crossinline block: KExpectations.() -> Unit) { | |
object : KExpectations() { | |
init { | |
block() | |
} | |
} | |
} | |
inline fun verifications(crossinline block: KVerifications.() -> Unit) { | |
object : KVerifications() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
expectations { | |
// Instruct mocks | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object : Expectations() { | |
init { | |
// Instruct mocks | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class AddressBook { | |
private AddressBookRepository repository; | |
public AddressBook(AddressBookRepository repository) { | |
this.repository = repository; | |
} | |
public Address getAddressById(int i) { | |
return repository.findById(i); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@RunWith(JMockit::class) | |
class AddressBookTest { | |
@Injectable | |
private lateinit var addressBookRepository: AddressBookRepository | |
@Tested | |
private lateinit var addressBook: AddressBook | |
@Test | |
fun retrieveAddressByIdTest() { |