Class DumpFileAsserts


  • public class DumpFileAsserts
    extends Object
    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.

    • Field Detail

      • DEFAULT_TEST_ASSET_DIRECTORY

        public static final String DEFAULT_TEST_ASSET_DIRECTORY
        The default test asset directory used if no other directory is specified.
        See Also:
        Constant Field Values
    • Method Detail

      • assertOutput

        public static void assertOutput​(Context context,
                                        Dumper.Dumpable actual,
                                        String dumpFile)
                                 throws IOException
        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 - A context.
        actual - The actual data.
        dumpFile - The file path of the dump file in the assets directory.
        Throws:
        IOException
      • assertOutput

        public static void assertOutput​(Context context,
                                        Dumper.Dumpable actual,
                                        String assetDirectory,
                                        String dumpFile)
                                 throws IOException
        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 - A context.
        actual - The actual data.
        assetDirectory - The directory of the assets relative to the project working directory. Only used when DUMP_FILE_ACTION is set to WRITE_TO_LOCAL.
        dumpFile - The file path of the dump file in the assets directory.
        Throws:
        IOException
      • assertOutput

        public static void assertOutput​(Context context,
                                        String actual,
                                        String dumpFile)
                                 throws IOException
        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 - A context.
        actual - The actual data.
        dumpFile - The file path of the dump file in the assets directory.
        Throws:
        IOException
      • assertOutput

        public static void assertOutput​(Context context,
                                        String actual,
                                        String assetDirectory,
                                        String dumpFile)
                                 throws IOException
        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 - A context.
        actual - The actual data.
        assetDirectory - The directory of the assets relative to the project working directory. Only used when DUMP_FILE_ACTION is set to WRITE_TO_LOCAL.
        dumpFile - The file path of the dump file in the assets directory.
        Throws:
        IOException