Skip to content

Instantly share code, notes, and snippets.

View birojow's full-sized avatar

Fabiano Augusto de Mello birojow

View GitHub Profile
@Test
fun test() {
arrange {
mockSomething()
mockSomethingElse()
}
act {
doSomething()
doSomethingElse()
}
@Test
fun performChainedCalculationsCorrectly() {
arrange {
enterFormula("((515 + 87 x 311) - 302) ÷ 27")
}
act {
performCalculation()
}
assert {
resultIs("1010.0")
@Test
fun shouldCalculateExpressionsCorrectly() {
arrange {
enterFormula("((515 + 87 x 311) - 302) ÷ 27")
}
act {
performCalculation()
}
assert {
assertResultIs("1010.0")
class CalculatorScreenTest {
@get:Rule
val composeRule = createAndroidComposeRule(MainActivity::class.java)
private val robot = CalculatorScreenRobot(composeRule)
private fun arrange(block: CalculatorScreenRobot.Arrange.() -> Unit) =
robot.Arrange().apply(block)
class CalculatorScreenTest {
@get:Rule
val composeRule = createAndroidComposeRule(MainActivity::class.java)
@Test
fun shouldCalculateExpressionsCorrectly() {
// arrange
enterFormula("((515 + 87 x 311) - 302) ÷ 27")
class CalculatorScreenRobot(
private val composeRule: AndroidComposeTestRule<ActivityScenarioRule<MainActivity>, MainActivity>
) {
inner class Arrange {
fun enterFormula(formula: String) {
formula.forEach { character ->
if (!character.isWhitespace()) {
val buttonLabel = when (character) {
'(', ')' -> "()"
class CalculatorScreenRobot {
class Arrange {}
class Act {}
class Assert {}
}
@Test
fun shouldCalculateExpressionsCorrectly() {
// arrange
enterFormula("((515 + 87 x 311) - 302) ÷ 27")
// act
performCalculation()
// assert
assertResultIs("1010.0")
class CalculatorScreenTest {
@get:Rule
val composeRule = createAndroidComposeRule(MainActivity::class.java)
/**
* type ((515 + 87 x 311) - 302) ÷ 27
* hit =
* assert result is 1010.0
*/