def test_Node_rotate_adds_rotation_transform(): rect = Rectangle((5, 15), p2=(10, 30), style="xyz") rect.translate((3, -2.5)) assert rect.rotate(18) == rect assert (str(rect) == '<rect height="15" style="xyz"' + ' transform="translate(3 -2.5) rotate(18)"' ' width="5" x="5" y="15"/>\n')
def test_Node_skew_y_adds_skew_transform(): rect = Rectangle((5, 15), p2=(10, 30), style="xyz") assert rect.skew_y(18) == rect rect.translate((3, -2.5)) assert (str(rect) == '<rect height="15" style="xyz"' + ' transform="skewY(18) translate(3 -2.5)"' ' width="5" x="5" y="15"/>\n')
def test_Rectangle_makes_rectangle_tag_with_corner_radius(): rect = Rectangle((5, 15), width=5, height=15, radius=3) assert (str(rect) == '<rect height="15" rx="3" width="5"' + ' x="5" y="15"/>\n') rect = Rectangle((5, 15), width=5, height=15, radius=(7, 3)) assert (str(rect) == '<rect height="15" rx="7" ry="3" width="5"' + ' x="5" y="15"/>\n')
def test_Node_add_title_adds_the_title(): rect = Rectangle((5, 15), p2=(10, 30)) assert rect.add_title('this is a rectangle') == rect outlines = str(rect).split('\n') assert len(outlines) == 6 assert outlines[0] == '<rect height="15" width="5" x="5" y="15">' assert outlines[1] == ' <title>' assert outlines[2] == ' this is a rectangle' assert outlines[3] == ' </title>' assert outlines[4] == '</rect>' assert outlines[5] == ''
def test_Node_stores_and_adds_css_class_names(): rect = Rectangle((5, 15), p2=(10, 30)) assert rect.append_class('big') == rect assert (str(rect) == '<rect class="big"' + ' height="15" width="5" x="5" y="15"/>\n') rect.append_class('bold') assert (str(rect) == '<rect class="big bold"' + ' height="15" width="5" x="5" y="15"/>\n') assert rect.insert_class(1, 'brassy') == rect assert (str(rect) == '<rect class="big brassy bold"' + ' height="15" width="5" x="5" y="15"/>\n') assert rect.remove_class('big') == rect assert (str(rect) == '<rect class="brassy bold"' + ' height="15" width="5" x="5" y="15"/>\n')
def test_Node_scale_adds_scale_transform(): rect = Rectangle((5, 15), p2=(10, 30), style="xyz") rect.scale((1.4, 2.0)).translate((3, -2.5)) assert (str(rect) == '<rect height="15" style="xyz"' + ' transform="scale(1.4,2.0) translate(3 -2.5)"' ' width="5" x="5" y="15"/>\n')
def test_Node_rotate_adds_rotation_transform_with_center(): rect = Rectangle((5, 15), p2=(10, 30), style="xyz") rect.rotate(18, (5, 7)) assert (str(rect) == '<rect height="15" style="xyz"' + ' transform="rotate(18,5,7)"' ' width="5" x="5" y="15"/>\n')
def test_Node_converts_subscripts_in_params(): rect = Rectangle((5, 15), p2=(10, 30), stroke="red", stroke_width=1.2) assert (str(rect) == '<rect height="15"' + ' stroke="red" stroke-width="1.2"' + ' width="5" x="5" y="15"/>\n')
def test_Rectangle_makes_rectangle_tag_with_center_dims_and_addl_params(): rect = Rectangle(center=(5, 15), width=10, height=7, style="xyz") assert (str(rect) == '<rect height="7" style="xyz" width="10"' + ' x="0.0" y="11.5"/>\n')
def test_Rectangle_makes_rectangle_tag_with_two_points_and_additional_params(): rect = Rectangle((5, 15), p2=(10, 30), style="xyz") assert (str(rect) == '<rect height="15" style="xyz" width="5"' + ' x="5" y="15"/>\n')
def test_Rectangle_makes_rectangle_tag_with_pts_dims_and_additional_params(): rect = Rectangle((5, 15), width=5, height=15, style="xyz") assert (str(rect) == '<rect height="15" style="xyz" width="5"' + ' x="5" y="15"/>\n')