* Tests embedding metadata then reading metadata to verify the results.
     *
     * @param isResultExpectedInOutput whether or not results are expected in command line output
     */
    protected void embedInTempFile(InputStream sourceInputStream, boolean isResultExpectedInOutput) {
        Embedder embedder = getEmbedder();
        
        // TODO Move this check to ExternalEmbedder
        String os = System.getProperty("os.name", "");
        if (os.contains("Windows")) {
            // Skip test on Windows
            return;
        }
        
        Date timestamp = new Date();
        Metadata metadataToEmbed = getMetadataToEmbed(timestamp);
        try {
            File tempOutputFile = tmp.createTemporaryFile();
            FileOutputStream tempFileOutputStream = new FileOutputStream(tempOutputFile);
            // Embed the metadata into a copy of the original output stream
            embedder.embed(metadataToEmbed, sourceInputStream, tempFileOutputStream, null);
            ParseContext context = new ParseContext();
            Parser parser = getParser();
            context.set(Parser.class, parser);