@UnstableApi
class DumpFileAsserts


Helper class to enable assertions based on golden-data dump files.

Allows the golden files to be easily updated with new data (see more info in the docs on DUMP_FILE_ACTION).

Compatible with Dumper.Dumpable but can also be used directly with Strings generated through different means.

Summary

Constants

const String!
DEFAULT_TEST_ASSET_DIRECTORY = "../test_data/src/test/assets"

The default test asset directory used if no other directory is specified.

Public functions

java-static Unit
assertOutput(context: Context!, actual: Dumper.Dumpable!, dumpFile: String!)

Asserts that the dump output of actual is equal to the contents of dumpFile in the DEFAULT_TEST_ASSET_DIRECTORY.

java-static Unit
assertOutput(context: Context!, actual: String!, dumpFile: String!)

Asserts that actual is equal to the contents of dumpFile in the DEFAULT_TEST_ASSET_DIRECTORY.

java-static Unit
assertOutput(
    context: Context!,
    actual: Dumper.Dumpable!,
    assetDirectory: String!,
    dumpFile: String!
)

Asserts that the dump output of actual is equal to the contents of dumpFile in the assetDirectory.

java-static Unit
assertOutput(
    context: Context!,
    actual: String!,
    assetDirectory: String!,
    dumpFile: String!
)

Asserts that actual is equal to the contents of dumpFile in assetDirectory.

Constants

DEFAULT_TEST_ASSET_DIRECTORY

const val DEFAULT_TEST_ASSET_DIRECTORY = "../test_data/src/test/assets": String!

The default test asset directory used if no other directory is specified.

Public functions

assertOutput

java-static fun assertOutput(context: Context!, actual: Dumper.Dumpable!, dumpFile: String!): Unit

Asserts that the dump output of actual is equal to the contents of dumpFile in the DEFAULT_TEST_ASSET_DIRECTORY.

If the assertion fails because of an intended change in the output or a new dump file needs to be created, set DUMP_FILE_ACTION to WRITE_TO_LOCAL for local tests and to WRITE_TO_DEVICE for instrumentation tests, and run the test again. Instead of assertion, actual will be written to dumpFile. For instrumentation tests, this new dump file needs to be copied to the project asset folder manually.

Parameters
context: Context!

A context.

actual: Dumper.Dumpable!

The actual data.

dumpFile: String!

The file path of the dump file in the assets directory.

assertOutput

java-static fun assertOutput(context: Context!, actual: String!, dumpFile: String!): Unit

Asserts that actual is equal to the contents of dumpFile in the DEFAULT_TEST_ASSET_DIRECTORY.

If the assertion fails because of an intended change in the output or a new dump file needs to be created, set DUMP_FILE_ACTION to WRITE_TO_LOCAL for local tests and to WRITE_TO_DEVICE for instrumentation tests, and run the test again. Instead of assertion, actual will be written to dumpFile. For instrumentation tests, this new dump file needs to be copied to the project asset folder manually.

Parameters
context: Context!

A context.

actual: String!

The actual data.

dumpFile: String!

The file path of the dump file in the assets directory.

assertOutput

java-static fun assertOutput(
    context: Context!,
    actual: Dumper.Dumpable!,
    assetDirectory: String!,
    dumpFile: String!
): Unit

Asserts that the dump output of actual is equal to the contents of dumpFile in the assetDirectory.

If the assertion fails because of an intended change in the output or a new dump file needs to be created, set DUMP_FILE_ACTION to WRITE_TO_LOCAL for local tests and to WRITE_TO_DEVICE for instrumentation tests, and run the test again. Instead of assertion, actual will be written to dumpFile. For instrumentation tests, this new dump file needs to be copied to the project asset folder manually.

Parameters
context: Context!

A context.

actual: Dumper.Dumpable!

The actual data.

assetDirectory: String!

The directory of the assets relative to the project working directory. Only used when DUMP_FILE_ACTION is set to WRITE_TO_LOCAL.

dumpFile: String!

The file path of the dump file in the assets directory.

assertOutput

java-static fun assertOutput(
    context: Context!,
    actual: String!,
    assetDirectory: String!,
    dumpFile: String!
): Unit

Asserts that actual is equal to the contents of dumpFile in assetDirectory.

If the assertion fails because of an intended change in the output or a new dump file needs to be created, set DUMP_FILE_ACTION to WRITE_TO_LOCAL for local tests and to WRITE_TO_DEVICE for instrumentation tests, and run the test again. Instead of assertion, actual will be written to dumpFile. For instrumentation tests, this new dump file needs to be copied to the project asset folder manually.

Parameters
context: Context!

A context.

actual: String!

The actual data.

assetDirectory: String!

The directory of the assets relative to the project working directory. Only used when DUMP_FILE_ACTION is set to WRITE_TO_LOCAL.

dumpFile: String!

The file path of the dump file in the assets directory.