Files
manim-slides/tests/test_base_slide.py
Jérome Eertmans d5d1513d94 chore(dev): move to Rye instead of PDM (#420)
* 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>
2024-04-18 22:12:45 +02:00

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