mirror of
https://github.com/jeertmans/manim-slides.git
synced 2025-05-18 19:16:21 +08:00

* test: re-add opencv-python * chore(dev): move to Rye instead of PDM * try fix * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: build backend * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: string quotes? * small fixes * upgrade typing * fix(ci): rye install on Windows * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix(ci): typos * fix * fix(ci): actually use right python version * fix(deps): manimgl * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix docs * another fix * cleanup * make sure to use trusted publisher * chore(docs): remove PDM --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
106 lines
3.4 KiB
Python
106 lines
3.4 KiB
Python
from collections.abc import MutableMapping
|
|
|
|
import pytest
|
|
|
|
from manim_slides.slide.base import BaseSlide
|
|
|
|
|
|
@pytest.fixture
|
|
def base_slide() -> BaseSlide:
|
|
return BaseSlide() # type: ignore[abstract]
|
|
|
|
|
|
class TestBaseSlide:
|
|
def test_frame_height(self, base_slide: BaseSlide) -> None:
|
|
with pytest.raises(NotImplementedError):
|
|
_ = base_slide._frame_height
|
|
|
|
def test_frame_width(self, base_slide: BaseSlide) -> None:
|
|
with pytest.raises(NotImplementedError):
|
|
_ = base_slide._frame_width
|
|
|
|
def test_background_color(self, base_slide: BaseSlide) -> None:
|
|
with pytest.raises(NotImplementedError):
|
|
_ = base_slide._background_color
|
|
|
|
def test_resolution(self, base_slide: BaseSlide) -> None:
|
|
with pytest.raises(NotImplementedError):
|
|
_ = base_slide._resolution
|
|
|
|
def test_partial_movie_files(self, base_slide: BaseSlide) -> None:
|
|
with pytest.raises(NotImplementedError):
|
|
_ = base_slide._partial_movie_files
|
|
|
|
def test_show_progress_bar(self, base_slide: BaseSlide) -> None:
|
|
with pytest.raises(NotImplementedError):
|
|
_ = base_slide._show_progress_bar
|
|
|
|
def test_leave_progress_bar(self, base_slide: BaseSlide) -> None:
|
|
with pytest.raises(NotImplementedError):
|
|
_ = base_slide._leave_progress_bar
|
|
|
|
def test_start_at_animation_number(self, base_slide: BaseSlide) -> None:
|
|
with pytest.raises(NotImplementedError):
|
|
_ = base_slide._start_at_animation_number
|
|
|
|
def test_canvas(self, base_slide: BaseSlide) -> None:
|
|
assert len(base_slide.canvas) == 0
|
|
assert isinstance(base_slide.canvas, MutableMapping)
|
|
|
|
def test_add_to__and_remove_from_canvas(self, base_slide: BaseSlide) -> None:
|
|
assert len(base_slide.canvas) == 0
|
|
|
|
base_slide.add_to_canvas(a=1, b=2)
|
|
|
|
assert len(base_slide.canvas) == 2
|
|
assert base_slide.canvas["a"] == 1
|
|
assert base_slide.canvas["b"] == 2
|
|
|
|
with pytest.raises(KeyError):
|
|
_ = base_slide.canvas["c"]
|
|
|
|
base_slide.add_to_canvas(b=3, c=4)
|
|
|
|
assert len(base_slide.canvas) == 3
|
|
|
|
assert sorted(base_slide.canvas_mobjects) == [1, 3, 4]
|
|
|
|
base_slide.remove_from_canvas("a", "b", "c")
|
|
|
|
assert len(base_slide.canvas) == 0
|
|
|
|
with pytest.raises(KeyError):
|
|
base_slide.remove_from_canvas("a")
|
|
|
|
def test_mobjects_without_canvas(self) -> None:
|
|
pass # This property should be tested in test_slide.py
|
|
|
|
def test_wait_time_between_slides(self, base_slide: BaseSlide) -> None:
|
|
assert base_slide.wait_time_between_slides == 0.0
|
|
|
|
base_slide.wait_time_between_slides = 1.0
|
|
|
|
assert base_slide.wait_time_between_slides == 1.0
|
|
|
|
base_slide.wait_time_between_slides = -1.0
|
|
|
|
assert base_slide.wait_time_between_slides == 0.0
|
|
|
|
def test_play(self) -> None:
|
|
pass # This method should be tested in test_slide.py
|
|
|
|
def test_next_slide(self) -> None:
|
|
pass # This method should be tested in test_slide.py
|
|
|
|
def test_add_last_slide(self) -> None:
|
|
pass # This method should be tested in test_slide.py
|
|
|
|
def test_save_slides(self) -> None:
|
|
pass # This method should be tested in test_slide.py
|
|
|
|
def test_zoom(self) -> None:
|
|
pass # This method should be tested in test_slide.py
|
|
|
|
def test_wipe(self) -> None:
|
|
pass # This method should be tested in test_slide.py
|