def test_movie_save(tmpdir, parallel, filename, gif_palette, framerate, gif_framerate, ffmpeg_options): print(gif_palette) # Need more tests for progress, verbose, overwriting path = tmpdir.join(filename) da = test_dataarray() if parallel: da = da.chunk({"time": 1}) mov = Movie(da) mov.save( path.strpath, gif_palette=gif_palette, framerate=framerate, gif_framerate=gif_framerate, ffmpeg_options=ffmpeg_options, parallel=parallel, ) assert path.exists() # I should also check if no other files were created. For later # Check relevant fps of output file if ".mp4" in filename: fps = cv2.VideoCapture(path.strpath).get(cv2.CAP_PROP_FPS) assert fps == framerate elif ".gif" in filename: fps = 1000 / Image.open(path.strpath).info["duration"] assert np.ceil(fps) == gif_framerate # Check overwriting print(path.exists()) with pytest.raises(RuntimeError): mov.save(path.strpath, overwrite_existing=False)
def test_movie_save(tmpdir, filename, gif_palette): # Need more tests for progress, verbose, overwriting path = tmpdir.join(filename) da = test_dataarray() mov = Movie(da) mov.save(path.strpath, gif_palette=gif_palette) assert path.exists()
def test_movie_save_parallel_wrong_chunk(tmpdir): path = tmpdir.join("movie.mp4") da = test_dataarray().chunk({"time": 2}) mov = Movie(da) with pytest.raises(ValueError) as excinfo: mov.save( path.strpath, parallel=True, ) assert "Input data needs to be a with single chunks along" in str(excinfo.value)
def test_movie_save_parallel_no_dask(tmpdir): path = tmpdir.join("movie.mp4") da = test_dataarray() mov = Movie(da) with pytest.raises(ValueError) as excinfo: mov.save( path.strpath, parallel=True, ) assert "Input data needs to be a dask array to save in parallel" in str(excinfo.value)