mirror of
https://github.com/ManimCommunity/manim.git
synced 2026-06-22 10:01:47 +00:00
* Expand documentation in value_tracker.py * Expand documentation in value_tracker.py * Add more inline operators to ValueTracker * Reformat value_tracker * Add more inline operators to ValueTracker * Expand ValueTracker testing to 100% coverage * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Apply suggestions from code review Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Remove ExponentialValueTracker * Move `animate` explanation to class description * Add to ComplexValueTracker get_value docs. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * removed import * consistent tracker * Apply suggestions from code review Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com> * Update manim/mobject/value_tracker.py Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at> * Update manim/mobject/value_tracker.py Change type from union to float suggested by kolibril13 Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com> * Change rest of union[int, float] to float * Fix flaot typo to float * Fix another typo Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at> Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com>
100 lines
2.5 KiB
Python
100 lines
2.5 KiB
Python
from manim.mobject.geometry import Dot
|
|
from manim.mobject.value_tracker import ComplexValueTracker, ValueTracker
|
|
|
|
|
|
def test_value_tracker_set_value():
|
|
"""Test ValueTracker.set_value()"""
|
|
tracker = ValueTracker()
|
|
tracker.set_value(10.0)
|
|
assert tracker.get_value() == 10.0
|
|
|
|
|
|
def test_value_tracker_get_value():
|
|
"""Test ValueTracker.get_value()"""
|
|
tracker = ValueTracker(10.0)
|
|
assert tracker.get_value() == 10.0
|
|
|
|
|
|
def test_value_tracker_interpolate():
|
|
"""Test ValueTracker.interpolate()"""
|
|
tracker1 = ValueTracker(1.0)
|
|
tracker2 = ValueTracker(2.5)
|
|
tracker3 = ValueTracker().interpolate(tracker1, tracker2, 0.7)
|
|
assert tracker3.get_value() == 2.05
|
|
|
|
|
|
def test_value_tracker_increment_value():
|
|
"""Test ValueTracker.increment_value()"""
|
|
tracker = ValueTracker(0.0)
|
|
tracker.increment_value(10.0)
|
|
assert tracker.get_value() == 10.0
|
|
|
|
|
|
def test_value_tracker_bool():
|
|
"""Test ValueTracker.__bool__()"""
|
|
tracker = ValueTracker(0.0)
|
|
assert not tracker
|
|
tracker.increment_value(1.0)
|
|
assert tracker
|
|
|
|
|
|
def test_value_tracker_iadd():
|
|
"""Test ValueTracker.__iadd__()"""
|
|
tracker = ValueTracker(0.0)
|
|
tracker += 10.0
|
|
assert tracker.get_value() == 10.0
|
|
|
|
|
|
def test_value_tracker_ifloordiv():
|
|
"""Test ValueTracker.__ifloordiv__()"""
|
|
tracker = ValueTracker(5.0)
|
|
tracker //= 2.0
|
|
assert tracker.get_value() == 2.0
|
|
|
|
|
|
def test_value_tracker_imod():
|
|
"""Test ValueTracker.__imod__()"""
|
|
tracker = ValueTracker(20.0)
|
|
tracker %= 3.0
|
|
assert tracker.get_value() == 2.0
|
|
|
|
|
|
def test_value_tracker_imul():
|
|
"""Test ValueTracker.__imul__()"""
|
|
tracker = ValueTracker(3.0)
|
|
tracker *= 4.0
|
|
assert tracker.get_value() == 12.0
|
|
|
|
|
|
def test_value_tracker_ipow():
|
|
"""Test ValueTracker.__ipow__()"""
|
|
tracker = ValueTracker(3.0)
|
|
tracker **= 3.0
|
|
assert tracker.get_value() == 27.0
|
|
|
|
|
|
def test_value_tracker_isub():
|
|
"""Test ValueTracker.__isub__()"""
|
|
tracker = ValueTracker(20.0)
|
|
tracker -= 10.0
|
|
assert tracker.get_value() == 10.0
|
|
|
|
|
|
def test_value_tracker_itruediv():
|
|
"""Test ValueTracker.__itruediv__()"""
|
|
tracker = ValueTracker(5.0)
|
|
tracker /= 2.0
|
|
assert tracker.get_value() == 2.5
|
|
|
|
|
|
def test_complex_value_tracker_set_value():
|
|
"""Test ComplexValueTracker.set_value()"""
|
|
tracker = ComplexValueTracker()
|
|
tracker.set_value(1 + 2j)
|
|
assert tracker.get_value() == 1 + 2j
|
|
|
|
|
|
def test_complex_value_tracker_get_value():
|
|
"""Test ComplexValueTracker.get_value()"""
|
|
tracker = ComplexValueTracker(2.0 - 3.0j)
|
|
assert tracker.get_value() == 2.0 - 3.0j
|