mirror of
https://github.com/ManimCommunity/manim.git
synced 2026-06-22 10:01:47 +00:00
Fix various tests and reveal underlying issues by using get_fill_color() instead of fill_color and related
This commit is contained in:
parent
0ec0c5cb76
commit
33884470e4
8 changed files with 46 additions and 38 deletions
|
|
@ -4,11 +4,11 @@ from manim.mobject.opengl.opengl_vectorized_mobject import OpenGLVMobject as VMo
|
|||
|
||||
def test_vmobject_init():
|
||||
vm = VMobject()
|
||||
assert vm.fill_color == [col.WHITE]
|
||||
assert vm.stroke_color == [col.WHITE]
|
||||
assert vm.get_fill_color() == col.WHITE
|
||||
assert vm.get_stroke_color() == col.WHITE
|
||||
vm = VMobject(color=col.RED)
|
||||
assert vm.fill_color == [col.RED]
|
||||
assert vm.stroke_color == [col.RED]
|
||||
assert vm.get_fill_color() == col.RED
|
||||
assert vm.get_stroke_color() == col.RED
|
||||
vm = VMobject(fill_color=col.GREEN, stroke_color=col.YELLOW)
|
||||
assert vm.fill_color == [col.GREEN]
|
||||
assert vm.stroke_color == [col.YELLOW]
|
||||
assert vm.get_fill_color() == col.GREEN
|
||||
assert vm.get_stroke_color() == col.YELLOW
|
||||
|
|
|
|||
|
|
@ -7,33 +7,33 @@ from tests.helpers.path_utils import get_svg_resource
|
|||
def test_set_fill_color():
|
||||
expected_color = "#FF862F"
|
||||
svg = SVGMobject(get_svg_resource("heart.svg"), fill_color=expected_color)
|
||||
assert svg.fill_color.to_hex() == expected_color
|
||||
assert svg.get_fill_color().to_hex() == expected_color
|
||||
|
||||
|
||||
def test_set_stroke_color():
|
||||
expected_color = "#FFFDDD"
|
||||
svg = SVGMobject(get_svg_resource("heart.svg"), stroke_color=expected_color)
|
||||
assert svg.stroke_color.to_hex() == expected_color
|
||||
assert svg.get_stroke_color().to_hex() == expected_color
|
||||
|
||||
|
||||
def test_set_color_sets_fill_and_stroke():
|
||||
expected_color = "#EEE777"
|
||||
svg = SVGMobject(get_svg_resource("heart.svg"), color=expected_color)
|
||||
assert svg.color.to_hex() == expected_color
|
||||
assert svg.fill_color.to_hex() == expected_color
|
||||
assert svg.stroke_color.to_hex() == expected_color
|
||||
assert svg.get_fill_color().to_hex() == expected_color
|
||||
assert svg.get_stroke_color().to_hex() == expected_color
|
||||
|
||||
|
||||
def test_set_fill_opacity():
|
||||
expected_opacity = 0.5
|
||||
svg = SVGMobject(get_svg_resource("heart.svg"), fill_opacity=expected_opacity)
|
||||
assert svg.fill_opacity == expected_opacity
|
||||
assert svg.get_fill_opacity() == expected_opacity
|
||||
|
||||
|
||||
def test_stroke_opacity():
|
||||
expected_opacity = 0.4
|
||||
svg = SVGMobject(get_svg_resource("heart.svg"), stroke_opacity=expected_opacity)
|
||||
assert svg.stroke_opacity == expected_opacity
|
||||
assert svg.get_stroke_opacity() == expected_opacity
|
||||
|
||||
|
||||
def test_fill_overrides_color():
|
||||
|
|
@ -43,7 +43,7 @@ def test_fill_overrides_color():
|
|||
color="#123123",
|
||||
fill_color=expected_color,
|
||||
)
|
||||
assert svg.fill_color.to_hex() == expected_color
|
||||
assert svg.get_fill_color().to_hex() == expected_color
|
||||
|
||||
|
||||
def test_stroke_overrides_color():
|
||||
|
|
@ -53,7 +53,7 @@ def test_stroke_overrides_color():
|
|||
color="#334433",
|
||||
stroke_color=expected_color,
|
||||
)
|
||||
assert svg.stroke_color.to_hex() == expected_color
|
||||
assert svg.get_stroke_color().to_hex() == expected_color
|
||||
|
||||
|
||||
def test_single_path_turns_into_sequence_of_points():
|
||||
|
|
|
|||
|
|
@ -45,5 +45,5 @@ def test_color_when_number_of_digits_changes():
|
|||
mob = Integer(color=RED)
|
||||
mob.set_value(42)
|
||||
assert all(
|
||||
submob.stroke_color.to_hex() == RED.to_hex() for submob in mob.submobjects
|
||||
submob.get_stroke_color().to_hex() == RED.to_hex() for submob in mob.submobjects
|
||||
)
|
||||
|
|
|
|||
|
|
@ -7,16 +7,16 @@ from manim.mobject.vector_field import StreamLines
|
|||
|
||||
def test_stroke_props_in_ctor():
|
||||
m = VMobject(stroke_color=C.ORANGE, stroke_width=10)
|
||||
assert m.stroke_color.to_hex() == C.ORANGE.to_hex()
|
||||
assert m.stroke_width == 10
|
||||
assert m.get_stroke_color().to_hex() == C.ORANGE.to_hex()
|
||||
assert m.get_stroke_width() == 10
|
||||
|
||||
|
||||
def test_set_stroke():
|
||||
m = VMobject()
|
||||
m.set_stroke(color=C.ORANGE, width=2, opacity=0.8)
|
||||
assert m.stroke_width == 2
|
||||
assert m.stroke_opacity == 0.8
|
||||
assert m.stroke_color.to_hex() == C.ORANGE.to_hex()
|
||||
assert m.get_stroke_width() == 2
|
||||
assert m.get_stroke_opacity() == 0.8
|
||||
assert m.get_stroke_color().to_hex() == C.ORANGE.to_hex()
|
||||
|
||||
|
||||
def test_set_background_stroke():
|
||||
|
|
@ -37,8 +37,8 @@ def test_streamline_attributes_for_single_color():
|
|||
opacity=0.2,
|
||||
color=C.BLUE_D,
|
||||
)
|
||||
assert vector_field[0].stroke_width == 1.0
|
||||
assert vector_field[0].stroke_opacity == 0.2
|
||||
assert vector_field[0].get_stroke_width() == 1.0
|
||||
assert vector_field[0].get_stroke_opacity() == 0.2
|
||||
|
||||
|
||||
def test_stroke_scale():
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ def test_to_rgb() -> None:
|
|||
def test_to_hex() -> None:
|
||||
color = ManimColor((0x1, 0x2, 0x3, 0x4))
|
||||
nt.assert_equal(color.to_hex(), "#010203")
|
||||
nt.assert_equal(color.to_hex(True), "#01020304")
|
||||
nt.assert_equal(color.to_hex(with_alpha=True), "#01020304")
|
||||
|
||||
|
||||
def test_to_hsv() -> None:
|
||||
|
|
@ -143,7 +143,7 @@ def test_invert() -> None:
|
|||
def test_invert_with_alpha() -> None:
|
||||
color = ManimColor((0x1, 0x2, 0x3, 0x4))
|
||||
rgba = color._internal_value
|
||||
inverted = color.invert(True)
|
||||
inverted = color.invert(with_alpha=True)
|
||||
nt.assert_array_equal(
|
||||
inverted._internal_value, (1 - rgba[0], 1 - rgba[1], 1 - rgba[2], 1 - rgba[3])
|
||||
)
|
||||
|
|
@ -182,10 +182,10 @@ def test_mc_from_functions() -> None:
|
|||
nt.assert_equal(color.to_hex(), "#FFFF00")
|
||||
|
||||
color = ManimColor.from_rgba((1.0, 1.0, 0.0, 1.0))
|
||||
nt.assert_equal(color.to_hex(True), "#FFFF00FF")
|
||||
nt.assert_equal(color.to_hex(with_alpha=True), "#FFFF00FF")
|
||||
|
||||
color = ManimColor.from_hsv((1.0, 1.0, 1.0), alpha=0.0)
|
||||
nt.assert_equal(color.to_hex(True), "#FF000000")
|
||||
nt.assert_equal(color.to_hex(with_alpha=True), "#FF000000")
|
||||
|
||||
|
||||
def test_hsv_init() -> None:
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ def test_code_initialization_from_file():
|
|||
background_config={"fill_color": "#101010"},
|
||||
)
|
||||
assert len(rendered_code.code_lines) == len(rendered_code.line_numbers)
|
||||
assert rendered_code.background.fill_color == ManimColor("#101010")
|
||||
assert rendered_code.background.get_fill_color() == ManimColor("#101010")
|
||||
|
||||
|
||||
def test_line_heights_initial_whitespace():
|
||||
|
|
|
|||
|
|
@ -33,24 +33,30 @@ def test_preserve_tex_color():
|
|||
|
||||
txt = Tex(r"\textcolor{red}{Hello} World")
|
||||
assert len(txt[0].submobjects) == 10
|
||||
assert all(char.fill_color.to_hex() == "#FF0000" for char in txt[0][:5]) # "Hello"
|
||||
assert all(
|
||||
char.fill_color.to_hex() == WHITE.to_hex() for char in txt[0][-5:]
|
||||
char.get_fill_color().to_hex() == "#FF0000" for char in txt[0][:5]
|
||||
) # "Hello"
|
||||
assert all(
|
||||
char.get_fill_color().to_hex() == WHITE.to_hex() for char in txt[0][-5:]
|
||||
) # "World"
|
||||
|
||||
txt = Tex(r"\textcolor{red}{Hello} World", color=BLUE)
|
||||
assert len(txt[0].submobjects) == 10
|
||||
assert all(char.fill_color.to_hex() == "#FF0000" for char in txt[0][:5]) # "Hello"
|
||||
assert all(
|
||||
char.fill_color.to_hex() == BLUE.to_hex() for char in txt[0][-5:]
|
||||
char.get_fill_color().to_hex() == "#FF0000" for char in txt[0][:5]
|
||||
) # "Hello"
|
||||
assert all(
|
||||
char.get_fill_color().to_hex() == BLUE.to_hex() for char in txt[0][-5:]
|
||||
) # "World"
|
||||
|
||||
Tex.set_default(color=GREEN)
|
||||
txt = Tex(r"\textcolor{red}{Hello} World")
|
||||
assert len(txt[0].submobjects) == 10
|
||||
assert all(char.fill_color.to_hex() == "#FF0000" for char in txt[0][:5]) # "Hello"
|
||||
assert all(
|
||||
char.fill_color.to_hex() == GREEN.to_hex() for char in txt[0][-5:]
|
||||
char.get_fill_color().to_hex() == "#FF0000" for char in txt[0][:5]
|
||||
) # "Hello"
|
||||
assert all(
|
||||
char.get_fill_color().to_hex() == GREEN.to_hex() for char in txt[0][-5:]
|
||||
) # "World"
|
||||
|
||||
Tex.set_default()
|
||||
|
|
|
|||
|
|
@ -11,11 +11,13 @@ def test_Text2Color():
|
|||
disable_ligatures=True,
|
||||
)
|
||||
assert len(txt.submobjects) == 29
|
||||
assert all(char.fill_color.to_hex() == "#FFFFFF" for char in txt[:4]) # "this"
|
||||
assert all(
|
||||
char.fill_color.to_hex() == RED.to_hex() for char in txt[-7:-1]
|
||||
char.get_fill_color().to_hex() == "#FFFFFF" for char in txt[:4]
|
||||
) # "this"
|
||||
assert all(
|
||||
char.get_fill_color().to_hex() == RED.to_hex() for char in txt[-7:-1]
|
||||
) # "spaces"
|
||||
assert txt[-1].fill_color.to_hex() == "#FFFFFF" # "!"
|
||||
assert txt[-1].get_fill_color().to_hex() == "#FFFFFF" # "!"
|
||||
|
||||
|
||||
def test_text_color_inheritance():
|
||||
|
|
@ -27,8 +29,8 @@ def test_text_color_inheritance():
|
|||
text = Text("test_color_inheritance", font="Sans")
|
||||
markup_text = MarkupText("test_color_inheritance", font="Sans")
|
||||
|
||||
assert all(char.fill_color.to_hex() == RED.to_hex() for char in text)
|
||||
assert all(char.fill_color.to_hex() == RED.to_hex() for char in markup_text)
|
||||
assert all(char.get_fill_color().to_hex() == RED.to_hex() for char in text)
|
||||
assert all(char.get_fill_color().to_hex() == RED.to_hex() for char in markup_text)
|
||||
|
||||
# reset the default color so that future tests aren't affected by this change.
|
||||
VMobject.set_default()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue