Skip to content

Instantly share code, notes, and snippets.

@Senemix29
Last active March 18, 2021 03:03
Show Gist options
  • Select an option

  • Save Senemix29/e97ede445c5f7063ddd03e45c89622be to your computer and use it in GitHub Desktop.

Select an option

Save Senemix29/e97ede445c5f7063ddd03e45c89622be to your computer and use it in GitHub Desktop.
Example of Android Instrumented tests using Espresso
@Test
fun shouldEnableButtonWhenValidMessageIsTyped() {
onView(withId(R.id.messageField)).perform(typeText("you do not talk about Fight Club"))
onView(withId(R.id.sendButton)).check(matches(isEnabled()))
}
@Test
fun shouldNotEnableButtonWhenInvalidMessageIsTyped() {
onView(withId(R.id.messageField)).perform(typeText("Hey, let me tell you about the Fight Club"))
onView(withId(R.id.sendButton)).check(matches(not(isEnabled())))
}
class FileUtils {
fun getDirectoryFilesListSize(context: Context, fileDirectory: String): Int {
val directory = File(context.filesDir, fileDirectory)
val fileList = directory.listFiles().orEmpty()
return fileList.size
}
}
@Test
fun shouldReturnNumberOfFilesInsideADirectory() {
//Given
val bananaDirectory = "bananas"
createFileAtInternalDirectory(context, bananaDirectory, "prata")
createFileAtInternalDirectory(context, bananaDirectory, "d'agua")
createFileAtInternalDirectory(context, bananaDirectory, "nanica")
//When
val directoryFileListSize =
FileUtils().getInternalDirectoryFilesListSize(context, bananaDirectory)
//Then
assertEquals(3, directoryFileListSize)
}
fun createFileAtInternalDirectory(context: Context, fileDirectory: String, fileName: String) {
val path = "${context.filesDir}/$fileDirectory"
val newDir = File(path).also { it.mkdirs() }
val newFile = File(newDir, fileName)
newFile.appendText("")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment