import shutil from pathlib import Path import tempfile import unittest from shell_command import FFmpegCommand from test_shared import ShellCommandSharedTestCase class FFmpegCommandTestCase(ShellCommandSharedTestCase): """Test the FFmpegCommand class.""" def setUp(self): """Set up for test.""" # Make sure the input and output options are explicitly set, # otherwise they hang around from previous tests. self.command = FFmpegCommand( input_options=["-i", "in.mov"], output_options=["out.mov"]) self.expected_executable = shutil.which("ffmpeg") self.expected_base_options = ["-y", "-nostdin",] self.expected_input_options = ["-i", "in.mov"] self.expected_filter_options = [] self.expected_output_options = ["out.mov"] def tearDown(self): """Clean up after test.""" self.command = None # Remove ShellCommandSharedTestCase from the namespace so we don't run # the shared tests twice. See <https://stackoverflow.com/a/22836015>. del(ShellCommandSharedTestCase)