@UnstableApi
public 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

static final String
DEFAULT_TEST_ASSET_DIRECTORY = "../test_data/src/test/assets"

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

Public methods

static void
assertOutput(Context context, Dumper.Dumpable actual, String dumpFile)

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

static void
assertOutput(Context context, String actual, String dumpFile)

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

static void
assertOutput(
    Context context,
    Dumper.Dumpable actual,
    String assetDirectory,
    String dumpFile
)

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

static void
assertOutput(
    Context context,
    String actual,
    String assetDirectory,
    String dumpFile
)

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

Constants

DEFAULT_TEST_ASSET_DIRECTORY

public static final String DEFAULT_TEST_ASSET_DIRECTORY = "../test_data/src/test/assets"

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

Public methods

assertOutput

public static void assertOutput(Context context, Dumper.Dumpable actual, String dumpFile)

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.

Dumper.Dumpable actual

The actual data.

String dumpFile

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

assertOutput

public static void assertOutput(Context context, String actual, String dumpFile)

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.

String actual

The actual data.

String dumpFile

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

assertOutput

public static void assertOutput(
    Context context,
    Dumper.Dumpable actual,
    String assetDirectory,
    String dumpFile
)

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.

Dumper.Dumpable actual

The actual data.

String assetDirectory

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

String dumpFile

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

assertOutput

public static void assertOutput(
    Context context,
    String actual,
    String assetDirectory,
    String dumpFile
)

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.

String actual

The actual data.

String assetDirectory

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

String dumpFile

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