Mock Version: 5.9 Mock Version: 5.9 Mock Version: 5.9 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target aarch64 --nodeps /builddir/build/SPECS/python-ezdxf.spec'], chrootPath='/var/lib/mock/f42-build-55699564-6537753/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '78b6f39e45964a278509a223ddcea123', '-D', '/var/lib/mock/f42-build-55699564-6537753/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target aarch64 --nodeps /builddir/build/SPECS/python-ezdxf.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1734134400 Wrote: /builddir/build/SRPMS/python-ezdxf-1.3.4-5.fc42.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target aarch64 --nodeps /builddir/build/SPECS/python-ezdxf.spec'], chrootPath='/var/lib/mock/f42-build-55699564-6537753/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '68b7c5ca13bd48f9a05f786f7942bc06', '-D', '/var/lib/mock/f42-build-55699564-6537753/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target aarch64 --nodeps /builddir/build/SPECS/python-ezdxf.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1734134400 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.AXhJlj + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + test -d /builddir/build/BUILD/python-ezdxf-1.3.4-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-ezdxf-1.3.4-build + /usr/bin/rm -rf /builddir/build/BUILD/python-ezdxf-1.3.4-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.wRpJsh + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + rm -rf ezdxf-1.3.4 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/ezdxf-1.3.4.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd ezdxf-1.3.4 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + dos2unix --keepdate examples/copydxf.py dos2unix: converting file examples/copydxf.py to Unix format... + sed -r -i '1{/^#!/d}' src/ezdxf/addons/drawing/qtviewer.py + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP examples recursedown('examples') recursedown('examples/acistools') recursedown('examples/addons') recursedown('examples/addons/drawing') recursedown('examples/addons/drawing/data') recursedown('examples/addons/optimize') recursedown('examples/blocks') recursedown('examples/entities') recursedown('examples/render') recursedown('examples/xref') examples/_template.py: no change examples/complex_line_type_example.py: no change examples/copydxf.py: no change examples/create_all_supported_dxf_versions.py: no change examples/custom_header_vars.py: no change examples/default_lineweights.py: no change examples/draw_glyph_table.py: no change examples/draw_text_frames.py: no change examples/edge_miner.py: no change examples/encode_decode_dxf_as_base64.py: no change examples/extended_textstyle_features.py: no change examples/load_comments.py: no change examples/load_file_structure_index.py: no change examples/maurer_rose.py: no change examples/megagrid.py: no change examples/optimize_polyfaces.py: no change examples/paperspace_setup_R12.py: no change examples/paperspace_setup_R2000.py: no change examples/print_layout_properties.py: no change examples/proxy_graphic.py: no change examples/redraw_order.py: no change examples/rename_layer.py: no change examples/revcloud.py: no change examples/separate_layers.py: no change examples/simple_page_setup.py: no change examples/spline_interpolation_of_sine_wave.py: no change examples/text_layout_engine_usage.py: no change examples/tiled_window_setup.py: no change examples/transform_cube_by_ucs.py: no change examples/transform_entities_by_block.py: no change examples/transform_entities_by_ucs.py: no change examples/transform_modelspace.py: no change examples/user_data_stored_in_XDATA.py: no change examples/user_data_stored_in_XRECORD.py: no change examples/using_all_text_styles.py: no change examples/using_group.py: no change examples/using_groupby.py: no change examples/using_lineweight.py: no change examples/using_ocs_and_ucs.py: no change examples/using_true_color_and_transparency.py: no change examples/viewport_frozen_layers.py: no change examples/viewports_in_paperspace.py: no change examples/viewports_override_layer_attributes.py: no change examples/acistools/acis_cube_all_dxf_versions.py: no change examples/acistools/create_3dsolid_cube.py: no change examples/acistools/create_3dsolid_mengersponge.py: no change examples/acistools/create_3dsolid_uvsphere.py: no change examples/acistools/mesh_from_body.py: no change examples/addons/dont_use_dimline_addons.py: no change examples/addons/dxf2code.py: no change examples/addons/fit_text_path_into_box.py: no change examples/addons/hpgl2_viewer.py: no change examples/addons/iterdxf.py: no change examples/addons/iterdxf_add_to_new_drawing.py: no change examples/addons/iterdxf_profiling.py: no change examples/addons/menger_sponge.py: no change examples/addons/meshex_export.py: no change examples/addons/mtext_explode.py: no change examples/addons/mtext_r12_addon.py: no change examples/addons/odafc_read_dwg.py: no change examples/addons/odafc_write_dwg.py: no change examples/addons/openscad.py: no change examples/addons/openscad_make_walls.py: no change examples/addons/pycsg.py: no change examples/addons/pycsg_sphere.py: no change examples/addons/pycsg_sphere_vs_menger_sponge.py: no change examples/addons/r12writer.py: no change examples/addons/r12writer2.py: no change examples/addons/r12writer_big_files.py: no change examples/addons/sierpinski_pyramid.py: no change examples/addons/table_painter_addon.py: no change examples/addons/text_entity_to_path.py: no change examples/addons/text_entity_to_path_condensed.py: no change examples/addons/text_lff_to_path.py: no change examples/addons/text_shx_to_path.py: no change examples/addons/text_string_to_hatch.py: no change examples/addons/text_string_to_path.py: no change examples/addons/text_to_virtual_entities.py: no change examples/addons/trianglulate_text_to_solids.py: no change examples/addons/drawing/cad_viewer.py: updating examples/addons/drawing/draw_cad.py: updating examples/addons/drawing/element_picker.py: no change examples/addons/drawing/export_image_pixel_size.py: no change examples/addons/drawing/export_specific_area.py: no change examples/addons/drawing/export_with_cropping.py: no change examples/addons/drawing/hpgl2_export.py: no change examples/addons/drawing/json_export.py: no change examples/addons/drawing/pdf_export.py: no change examples/addons/drawing/pdf_export_page_alignment.py: no change examples/addons/drawing/pixmap_export.py: no change examples/addons/drawing/png_export_by_matplotlib.py: no change examples/addons/drawing/render_model_space_as_tiles.py: no change examples/addons/drawing/render_parts_via_recorder_backend.py: no change examples/addons/drawing/render_to_scale.py: no change examples/addons/drawing/svg_export.py: no change examples/addons/drawing/wcs_to_image_coodinates.py: no change examples/addons/optimize/bin_packing_forms.py: no change examples/addons/optimize/bin_packing_py3dbp.py: no change examples/addons/optimize/tsp.py: no change examples/blocks/auto_blockref.py: no change examples/blocks/block_references_with_attributes.py: no change examples/blocks/blocks_tutorial.py: no change examples/blocks/clipping_insert.py: no change examples/blocks/exploding_block_references.py: no change examples/blocks/exploding_with_attribs.py: no change examples/blocks/insert_with_mtext_attrib.py: no change examples/blocks/move_block_base_point.py: no change examples/blocks/multi_insert.py: no change examples/blocks/simple_block.py: no change examples/entities/arc_construction.py: no change examples/entities/arc_from_spline.py: no change examples/entities/circle_2d.py: no change examples/entities/circle_3d_from_3_points.py: no change examples/entities/elliptic_arc.py: no change examples/entities/geodata.py: no change examples/entities/geodata_setup_local_grid.py: no change examples/entities/hatch.py: no change examples/entities/hatch_pattern_modify_origin.py: no change examples/entities/helix.py: no change examples/entities/image.py: no change examples/entities/leader.py: no change examples/entities/lwpolyline.py: no change examples/entities/mesh_1.py: no change examples/entities/mesh_2.py: no change examples/entities/mesh_subdiv_and_creases.py: no change examples/entities/mpolygon.py: no change examples/entities/mtext.py: no change examples/entities/mtext_editor.py: no change examples/entities/mtext_in_yz_plane.py: no change examples/entities/multileader.py: no change examples/entities/read_acad_table.py: no change examples/entities/spline.py: no change examples/entities/spline_create_all_types.py: no change examples/entities/spline_from_arc.py: no change examples/entities/spline_from_ellipse.py: no change examples/entities/text_alignments.py: no change examples/entities/underlay.py: no change examples/entities/wipeout.py: no change examples/render/boolean_operations_for_2d_polygons.py: no change examples/render/chamfer_tools.py: no change examples/render/dimension_angular.py: no change examples/render/dimension_arc.py: no change examples/render/dimension_diameter.py: no change examples/render/dimension_linear.py: no change examples/render/dimension_ordinate.py: no change examples/render/dimension_ordinate_global_features.py: no change examples/render/dimension_ordinate_local_features.py: no change examples/render/dimension_radius.py: no change examples/render/explode_3d_dimension.py: no change examples/render/extrude_and_tessellate_concave_profile.py: no change examples/render/extrude_twist_scale_profile.py: no change examples/render/gear.py: no change examples/render/hatch_from_entities.py: no change examples/render/intersect_ellipse_and_spline.py: no change examples/render/mesh_transformer.py: no change examples/render/render_bezier.py: no change examples/render/render_euler_spiral.py: no change examples/render/render_mapbox_earcut_test_data.py: no change examples/render/render_meshes.py: no change examples/render/render_r12_ellipse.py: no change examples/render/render_r12_spline.py: no change examples/render/render_sphere.py: no change examples/render/render_spline.py: no change examples/render/render_torus.py: no change examples/render/shapefile_rendering.py: no change examples/render/show_all_arrows.py: no change examples/render/show_all_std_line_types.py: no change examples/render/sweep_helix.py: no change examples/render/sweep_profile.py: no change examples/render/triangulate_paths.py: no change examples/xref/attach_dxf_dwg_xref.py: no change examples/xref/detach_block_as_xref.py: no change examples/xref/embed_dxf_dwg_xref.py: no change examples/xref/load_and_transform_acis_entities.py: no change examples/xref/load_table_resources.py: no change setuptools wheel pyparsing>=2.0.1 # typing_extensions>=4.6.0 numpy fonttools pytest # mypy>=1.11 cython matplotlib pyside6 Pillow PyMuPDF sphinx sphinx-rtd-theme sphinxcontrib-jquery + sed -r -e 's/^(mypy|typing_extensions)\b/# \1/' -e 's/^(sphinx-rtd-theme)<.*$/\1/' requirements-dev.txt + tee requirements-dev-filtered.txt + find . -type f -name .gitignore -print -delete ./.gitignore ./archive/.gitignore ./docs/source/tutorials/src/.gitignore ./docs/source/tutorials/src/export/.gitignore ./examples_dxf/.gitignore ./notes/logseq/.gitignore ./src/.gitignore ./src/ezdxf/acc/.gitignore + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.hvajUq + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + cd ezdxf-1.3.4 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/pyproject-wheeldir --output /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-buildrequires -x draw,dev,draw5,dev5 requirements-dev-filtered.txt Handling setuptools from requirements file requirements-dev-filtered.txt Requirement not satisfied: setuptools Handling wheel from requirements file requirements-dev-filtered.txt Requirement not satisfied: wheel Handling pyparsing>=2.0.1 from requirements file requirements-dev-filtered.txt Requirement not satisfied: pyparsing>=2.0.1 Handling numpy from requirements file requirements-dev-filtered.txt Requirement not satisfied: numpy Handling fonttools from requirements file requirements-dev-filtered.txt Requirement not satisfied: fonttools Handling pytest from requirements file requirements-dev-filtered.txt Requirement not satisfied: pytest Handling cython from requirements file requirements-dev-filtered.txt Requirement not satisfied: cython Handling matplotlib from requirements file requirements-dev-filtered.txt Requirement not satisfied: matplotlib Handling pyside6 from requirements file requirements-dev-filtered.txt Requirement not satisfied: pyside6 Handling Pillow from requirements file requirements-dev-filtered.txt Requirement not satisfied: Pillow Handling PyMuPDF from requirements file requirements-dev-filtered.txt Requirement not satisfied: PyMuPDF Handling sphinx from requirements file requirements-dev-filtered.txt Requirement not satisfied: sphinx Handling sphinx-rtd-theme from requirements file requirements-dev-filtered.txt Requirement not satisfied: sphinx-rtd-theme Handling sphinxcontrib-jquery from requirements file requirements-dev-filtered.txt Requirement not satisfied: sphinxcontrib-jquery Exiting dependency generation pass: all requirements files + cat /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-ezdxf-1.3.4-5.fc42.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target aarch64 --nodeps /builddir/build/SPECS/python-ezdxf.spec'], chrootPath='/var/lib/mock/f42-build-55699564-6537753/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '2512bcde69bc4ad5b14253049646a0a2', '-D', '/var/lib/mock/f42-build-55699564-6537753/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target aarch64 --nodeps /builddir/build/SPECS/python-ezdxf.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1734134400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Q8HX3y + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + cd ezdxf-1.3.4 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/pyproject-wheeldir --output /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-buildrequires -x draw,dev,draw5,dev5 requirements-dev-filtered.txt Handling setuptools from requirements file requirements-dev-filtered.txt Requirement satisfied: setuptools (installed: setuptools 74.1.3) Handling wheel from requirements file requirements-dev-filtered.txt Requirement satisfied: wheel (installed: wheel 0.45.1) Handling pyparsing>=2.0.1 from requirements file requirements-dev-filtered.txt Requirement satisfied: pyparsing>=2.0.1 (installed: pyparsing 3.1.2) Handling numpy from requirements file requirements-dev-filtered.txt Requirement satisfied: numpy (installed: numpy 2.2.0) Handling fonttools from requirements file requirements-dev-filtered.txt Requirement satisfied: fonttools (installed: fonttools 4.55.2) Handling pytest from requirements file requirements-dev-filtered.txt Requirement satisfied: pytest (installed: pytest 8.3.4) Handling cython from requirements file requirements-dev-filtered.txt Requirement satisfied: cython (installed: cython 3.0.11) Handling matplotlib from requirements file requirements-dev-filtered.txt Requirement satisfied: matplotlib (installed: matplotlib 3.9.3) Handling pyside6 from requirements file requirements-dev-filtered.txt Requirement satisfied: pyside6 (installed: pyside6 6.8.0) Handling Pillow from requirements file requirements-dev-filtered.txt Requirement satisfied: Pillow (installed: Pillow 11.0.0) Handling PyMuPDF from requirements file requirements-dev-filtered.txt Requirement satisfied: PyMuPDF (installed: PyMuPDF 1.24.8) Handling sphinx from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinx (installed: sphinx 7.3.7) Handling sphinx-rtd-theme from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinx-rtd-theme (installed: sphinx-rtd-theme 3.0.2) Handling sphinxcontrib-jquery from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinxcontrib-jquery (installed: sphinxcontrib-jquery 4.1) Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 74.1.3) Handling wheel from build-system.requires Requirement satisfied: wheel (installed: wheel 0.45.1) Handling cython from build-system.requires Requirement satisfied: cython (installed: cython 3.0.11) /usr/lib/python3.13/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENCE' cannot be found for path in _filter_existing_files(_filepaths) running egg_info creating src/ezdxf.egg-info writing src/ezdxf.egg-info/PKG-INFO writing dependency_links to src/ezdxf.egg-info/dependency_links.txt writing entry points to src/ezdxf.egg-info/entry_points.txt writing requirements to src/ezdxf.egg-info/requires.txt writing top-level names to src/ezdxf.egg-info/top_level.txt writing manifest file 'src/ezdxf.egg-info/SOURCES.txt' reading manifest file 'src/ezdxf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.hpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.cpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.c' under directory 'src/ezdxf/acc' warning: no files found matching '*' under directory 'tests/data' adding license file 'LICENSE' writing manifest file 'src/ezdxf.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENCE' cannot be found for path in _filter_existing_files(_filepaths) running dist_info creating ezdxf.egg-info writing ezdxf.egg-info/PKG-INFO writing dependency_links to ezdxf.egg-info/dependency_links.txt writing entry points to ezdxf.egg-info/entry_points.txt writing requirements to ezdxf.egg-info/requires.txt writing top-level names to ezdxf.egg-info/top_level.txt writing manifest file 'ezdxf.egg-info/SOURCES.txt' reading manifest file 'ezdxf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.hpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.cpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.c' under directory 'src/ezdxf/acc' warning: no files found matching '*' under directory 'tests/data' adding license file 'LICENSE' writing manifest file 'ezdxf.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/ezdxf-1.3.4.dist-info' Handling pyparsing>=2.0.1 from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pyparsing>=2.0.1 (installed: pyparsing 3.1.2) Handling typing-extensions>=4.6.0 from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: typing-extensions>=4.6.0 (installed: typing-extensions 4.12.2) Handling numpy from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: numpy (installed: numpy 2.2.0) Handling fonttools from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: fonttools (installed: fonttools 4.55.2) Handling PySide6; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PySide6; extra == "dev" (installed: PySide6 6.8.0) Handling setuptools; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: setuptools; extra == "dev" (installed: setuptools 74.1.3) Handling wheel; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: wheel; extra == "dev" (installed: wheel 0.45.1) Handling Cython; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Cython; extra == "dev" (installed: Cython 3.0.11) Handling pytest; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pytest; extra == "dev" (installed: pytest 8.3.4) Handling Pillow; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "dev" (installed: Pillow 11.0.0) Handling matplotlib; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "dev" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "dev" (installed: PyMuPDF 1.24.8) Handling PyQt5; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement not satisfied: PyQt5; extra == "dev5" Handling setuptools; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: setuptools; extra == "dev5" (installed: setuptools 74.1.3) Handling wheel; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: wheel; extra == "dev5" (installed: wheel 0.45.1) Handling Cython; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Cython; extra == "dev5" (installed: Cython 3.0.11) Handling pytest; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pytest; extra == "dev5" (installed: pytest 8.3.4) Handling Pillow; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "dev5" (installed: Pillow 11.0.0) Handling matplotlib; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "dev5" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "dev5" (installed: PyMuPDF 1.24.8) Handling PySide6; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PySide6; extra == "draw" (installed: PySide6 6.8.0) Handling matplotlib; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "draw" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "draw" (installed: PyMuPDF 1.24.8) Handling Pillow; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "draw" (installed: Pillow 11.0.0) Handling PyQt5; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement not satisfied: PyQt5; extra == "draw5" Handling matplotlib; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "draw5" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "draw5" (installed: PyMuPDF 1.24.8) Handling Pillow; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "draw5" (installed: Pillow 11.0.0) + cat /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-buildrequires + rm -rfv ezdxf-1.3.4.dist-info/ removed 'ezdxf-1.3.4.dist-info/entry_points.txt' removed 'ezdxf-1.3.4.dist-info/top_level.txt' removed 'ezdxf-1.3.4.dist-info/METADATA' removed 'ezdxf-1.3.4.dist-info/LICENSE' removed directory 'ezdxf-1.3.4.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-ezdxf-1.3.4-5.fc42.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target aarch64 --nodeps /builddir/build/SPECS/python-ezdxf.spec'], chrootPath='/var/lib/mock/f42-build-55699564-6537753/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'b34eb91f507d40659e9eb2e1ea5b2fb7', '-D', '/var/lib/mock/f42-build-55699564-6537753/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target aarch64 --nodeps /builddir/build/SPECS/python-ezdxf.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1734134400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.VhWnmd + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + cd ezdxf-1.3.4 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/pyproject-wheeldir --output /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-buildrequires -x draw,dev,draw5,dev5 requirements-dev-filtered.txt Handling setuptools from requirements file requirements-dev-filtered.txt Requirement satisfied: setuptools (installed: setuptools 74.1.3) Handling wheel from requirements file requirements-dev-filtered.txt Requirement satisfied: wheel (installed: wheel 0.45.1) Handling pyparsing>=2.0.1 from requirements file requirements-dev-filtered.txt Requirement satisfied: pyparsing>=2.0.1 (installed: pyparsing 3.1.2) Handling numpy from requirements file requirements-dev-filtered.txt Requirement satisfied: numpy (installed: numpy 2.2.0) Handling fonttools from requirements file requirements-dev-filtered.txt Requirement satisfied: fonttools (installed: fonttools 4.55.2) Handling pytest from requirements file requirements-dev-filtered.txt Requirement satisfied: pytest (installed: pytest 8.3.4) Handling cython from requirements file requirements-dev-filtered.txt Requirement satisfied: cython (installed: cython 3.0.11) Handling matplotlib from requirements file requirements-dev-filtered.txt Requirement satisfied: matplotlib (installed: matplotlib 3.9.3) Handling pyside6 from requirements file requirements-dev-filtered.txt Requirement satisfied: pyside6 (installed: pyside6 6.8.0) Handling Pillow from requirements file requirements-dev-filtered.txt Requirement satisfied: Pillow (installed: Pillow 11.0.0) Handling PyMuPDF from requirements file requirements-dev-filtered.txt Requirement satisfied: PyMuPDF (installed: PyMuPDF 1.24.8) Handling sphinx from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinx (installed: sphinx 7.3.7) Handling sphinx-rtd-theme from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinx-rtd-theme (installed: sphinx-rtd-theme 3.0.2) Handling sphinxcontrib-jquery from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinxcontrib-jquery (installed: sphinxcontrib-jquery 4.1) Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 74.1.3) Handling wheel from build-system.requires Requirement satisfied: wheel (installed: wheel 0.45.1) Handling cython from build-system.requires Requirement satisfied: cython (installed: cython 3.0.11) /usr/lib/python3.13/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENCE' cannot be found for path in _filter_existing_files(_filepaths) running egg_info writing src/ezdxf.egg-info/PKG-INFO writing dependency_links to src/ezdxf.egg-info/dependency_links.txt writing entry points to src/ezdxf.egg-info/entry_points.txt writing requirements to src/ezdxf.egg-info/requires.txt writing top-level names to src/ezdxf.egg-info/top_level.txt reading manifest file 'src/ezdxf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.hpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.cpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.c' under directory 'src/ezdxf/acc' warning: no files found matching '*' under directory 'tests/data' adding license file 'LICENSE' writing manifest file 'src/ezdxf.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENCE' cannot be found for path in _filter_existing_files(_filepaths) running dist_info writing ezdxf.egg-info/PKG-INFO writing dependency_links to ezdxf.egg-info/dependency_links.txt writing entry points to ezdxf.egg-info/entry_points.txt writing requirements to ezdxf.egg-info/requires.txt writing top-level names to ezdxf.egg-info/top_level.txt reading manifest file 'ezdxf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.hpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.cpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.c' under directory 'src/ezdxf/acc' warning: no files found matching '*' under directory 'tests/data' adding license file 'LICENSE' writing manifest file 'ezdxf.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/ezdxf-1.3.4.dist-info' Handling pyparsing>=2.0.1 from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pyparsing>=2.0.1 (installed: pyparsing 3.1.2) Handling typing-extensions>=4.6.0 from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: typing-extensions>=4.6.0 (installed: typing-extensions 4.12.2) Handling numpy from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: numpy (installed: numpy 2.2.0) Handling fonttools from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: fonttools (installed: fonttools 4.55.2) Handling PySide6; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PySide6; extra == "dev" (installed: PySide6 6.8.0) Handling setuptools; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: setuptools; extra == "dev" (installed: setuptools 74.1.3) Handling wheel; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: wheel; extra == "dev" (installed: wheel 0.45.1) Handling Cython; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Cython; extra == "dev" (installed: Cython 3.0.11) Handling pytest; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pytest; extra == "dev" (installed: pytest 8.3.4) Handling Pillow; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "dev" (installed: Pillow 11.0.0) Handling matplotlib; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "dev" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "dev" (installed: PyMuPDF 1.24.8) Handling PyQt5; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyQt5; extra == "dev5" (installed: PyQt5 5.15.10) Handling setuptools; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: setuptools; extra == "dev5" (installed: setuptools 74.1.3) Handling wheel; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: wheel; extra == "dev5" (installed: wheel 0.45.1) Handling Cython; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Cython; extra == "dev5" (installed: Cython 3.0.11) Handling pytest; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pytest; extra == "dev5" (installed: pytest 8.3.4) Handling Pillow; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "dev5" (installed: Pillow 11.0.0) Handling matplotlib; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "dev5" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "dev5" (installed: PyMuPDF 1.24.8) Handling PySide6; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PySide6; extra == "draw" (installed: PySide6 6.8.0) Handling matplotlib; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "draw" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "draw" (installed: PyMuPDF 1.24.8) Handling Pillow; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "draw" (installed: Pillow 11.0.0) Handling PyQt5; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyQt5; extra == "draw5" (installed: PyQt5 5.15.10) Handling matplotlib; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "draw5" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "draw5" (installed: PyMuPDF 1.24.8) Handling Pillow; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "draw5" (installed: Pillow 11.0.0) + cat /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-buildrequires + rm -rfv ezdxf-1.3.4.dist-info/ removed 'ezdxf-1.3.4.dist-info/entry_points.txt' removed 'ezdxf-1.3.4.dist-info/top_level.txt' removed 'ezdxf-1.3.4.dist-info/METADATA' removed 'ezdxf-1.3.4.dist-info/LICENSE' removed directory 'ezdxf-1.3.4.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-ezdxf-1.3.4-5.fc42.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target aarch64 /builddir/build/SPECS/python-ezdxf.spec'], chrootPath='/var/lib/mock/f42-build-55699564-6537753/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '777bfcb2e0744bf8b1e5f1fae832ff7b', '-D', '/var/lib/mock/f42-build-55699564-6537753/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_CORE=infinity', '--bind=/tmp/mock-resolv.pf8w8agu:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target aarch64 /builddir/build/SPECS/python-ezdxf.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1734134400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.XY98TW + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + cd ezdxf-1.3.4 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/pyproject-wheeldir --output /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-buildrequires -x draw,dev,draw5,dev5 requirements-dev-filtered.txt Handling setuptools from requirements file requirements-dev-filtered.txt Requirement satisfied: setuptools (installed: setuptools 74.1.3) Handling wheel from requirements file requirements-dev-filtered.txt Requirement satisfied: wheel (installed: wheel 0.45.1) Handling pyparsing>=2.0.1 from requirements file requirements-dev-filtered.txt Requirement satisfied: pyparsing>=2.0.1 (installed: pyparsing 3.1.2) Handling numpy from requirements file requirements-dev-filtered.txt Requirement satisfied: numpy (installed: numpy 2.2.0) Handling fonttools from requirements file requirements-dev-filtered.txt Requirement satisfied: fonttools (installed: fonttools 4.55.2) Handling pytest from requirements file requirements-dev-filtered.txt Requirement satisfied: pytest (installed: pytest 8.3.4) Handling cython from requirements file requirements-dev-filtered.txt Requirement satisfied: cython (installed: cython 3.0.11) Handling matplotlib from requirements file requirements-dev-filtered.txt Requirement satisfied: matplotlib (installed: matplotlib 3.9.3) Handling pyside6 from requirements file requirements-dev-filtered.txt Requirement satisfied: pyside6 (installed: pyside6 6.8.0) Handling Pillow from requirements file requirements-dev-filtered.txt Requirement satisfied: Pillow (installed: Pillow 11.0.0) Handling PyMuPDF from requirements file requirements-dev-filtered.txt Requirement satisfied: PyMuPDF (installed: PyMuPDF 1.24.8) Handling sphinx from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinx (installed: sphinx 7.3.7) Handling sphinx-rtd-theme from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinx-rtd-theme (installed: sphinx-rtd-theme 3.0.2) Handling sphinxcontrib-jquery from requirements file requirements-dev-filtered.txt Requirement satisfied: sphinxcontrib-jquery (installed: sphinxcontrib-jquery 4.1) Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 74.1.3) Handling wheel from build-system.requires Requirement satisfied: wheel (installed: wheel 0.45.1) Handling cython from build-system.requires Requirement satisfied: cython (installed: cython 3.0.11) /usr/lib/python3.13/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENCE' cannot be found for path in _filter_existing_files(_filepaths) running egg_info writing src/ezdxf.egg-info/PKG-INFO writing dependency_links to src/ezdxf.egg-info/dependency_links.txt writing entry points to src/ezdxf.egg-info/entry_points.txt writing requirements to src/ezdxf.egg-info/requires.txt writing top-level names to src/ezdxf.egg-info/top_level.txt reading manifest file 'src/ezdxf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.hpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.cpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.c' under directory 'src/ezdxf/acc' warning: no files found matching '*' under directory 'tests/data' adding license file 'LICENSE' writing manifest file 'src/ezdxf.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENCE' cannot be found for path in _filter_existing_files(_filepaths) running dist_info writing ezdxf.egg-info/PKG-INFO writing dependency_links to ezdxf.egg-info/dependency_links.txt writing entry points to ezdxf.egg-info/entry_points.txt writing requirements to ezdxf.egg-info/requires.txt writing top-level names to ezdxf.egg-info/top_level.txt reading manifest file 'ezdxf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.hpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.cpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.c' under directory 'src/ezdxf/acc' warning: no files found matching '*' under directory 'tests/data' adding license file 'LICENSE' writing manifest file 'ezdxf.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/ezdxf-1.3.4.dist-info' Handling pyparsing>=2.0.1 from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pyparsing>=2.0.1 (installed: pyparsing 3.1.2) Handling typing-extensions>=4.6.0 from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: typing-extensions>=4.6.0 (installed: typing-extensions 4.12.2) Handling numpy from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: numpy (installed: numpy 2.2.0) Handling fonttools from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: fonttools (installed: fonttools 4.55.2) Handling PySide6; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PySide6; extra == "dev" (installed: PySide6 6.8.0) Handling setuptools; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: setuptools; extra == "dev" (installed: setuptools 74.1.3) Handling wheel; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: wheel; extra == "dev" (installed: wheel 0.45.1) Handling Cython; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Cython; extra == "dev" (installed: Cython 3.0.11) Handling pytest; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pytest; extra == "dev" (installed: pytest 8.3.4) Handling Pillow; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "dev" (installed: Pillow 11.0.0) Handling matplotlib; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "dev" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "dev" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "dev" (installed: PyMuPDF 1.24.8) Handling PyQt5; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyQt5; extra == "dev5" (installed: PyQt5 5.15.10) Handling setuptools; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: setuptools; extra == "dev5" (installed: setuptools 74.1.3) Handling wheel; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: wheel; extra == "dev5" (installed: wheel 0.45.1) Handling Cython; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Cython; extra == "dev5" (installed: Cython 3.0.11) Handling pytest; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: pytest; extra == "dev5" (installed: pytest 8.3.4) Handling Pillow; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "dev5" (installed: Pillow 11.0.0) Handling matplotlib; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "dev5" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "dev5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "dev5" (installed: PyMuPDF 1.24.8) Handling PySide6; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PySide6; extra == "draw" (installed: PySide6 6.8.0) Handling matplotlib; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "draw" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "draw" (installed: PyMuPDF 1.24.8) Handling Pillow; extra == "draw" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "draw" (installed: Pillow 11.0.0) Handling PyQt5; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyQt5; extra == "draw5" (installed: PyQt5 5.15.10) Handling matplotlib; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: matplotlib; extra == "draw5" (installed: matplotlib 3.9.3) Handling PyMuPDF>=1.20.0; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: PyMuPDF>=1.20.0; extra == "draw5" (installed: PyMuPDF 1.24.8) Handling Pillow; extra == "draw5" from hook generated metadata: Requires-Dist (ezdxf) Requirement satisfied: Pillow; extra == "draw5" (installed: Pillow 11.0.0) + cat /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-buildrequires + rm -rfv ezdxf-1.3.4.dist-info/ removed 'ezdxf-1.3.4.dist-info/entry_points.txt' removed 'ezdxf-1.3.4.dist-info/top_level.txt' removed 'ezdxf-1.3.4.dist-info/METADATA' removed 'ezdxf-1.3.4.dist-info/LICENSE' removed directory 'ezdxf-1.3.4.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.WBpQpP + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd ezdxf-1.3.4 + mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/pyproject-wheeldir Processing /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) /usr/lib/python3.13/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENCE' cannot be found for path in _filter_existing_files(_filepaths) running dist_info creating /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info writing /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info/dependency_links.txt writing entry points to /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info/entry_points.txt writing requirements to /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.hpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.cpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.c' under directory 'src/ezdxf/acc' warning: no files found matching '*' under directory 'tests/data' adding license file 'LICENSE' writing manifest file '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-modern-metadata-0uyv9cis/ezdxf-1.3.4.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: ezdxf Building wheel for ezdxf (pyproject.toml): started Running command Building wheel for ezdxf (pyproject.toml) /usr/lib/python3.13/site-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENCE' cannot be found for path in _filter_existing_files(_filepaths) running bdist_wheel running build running build_py creating build creating build/lib.linux-aarch64-cpython-313 creating build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/__main__.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/_options.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/appsettings.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/audit.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/bbox.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/blkrefs.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/colors.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/commands.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/comments.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/disassemble.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/document.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/dwginfo.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/dynblkhelper.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/edgeminer.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/edgesmith.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/entitydb.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/enums.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/explode.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/eztypes.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/filemanagement.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/gfxattribs.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/graphicsfactory.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/groupby.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/messenger.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/msgtypes.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/npshapes.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/protocols.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/proxygraphic.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/query.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/queryparser.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/r12strict.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/recover.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/reorder.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/revcloud.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/select.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/transform.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/units.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/upright.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/urecord.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/version.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/xclip.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/xref.py -> build/lib.linux-aarch64-cpython-313/ezdxf copying src/ezdxf/zoom.py -> build/lib.linux-aarch64-cpython-313/ezdxf creating build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acc creating build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/abstract.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/api.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/cache.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/const.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/dbg.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/dxf.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/entities.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/hdr.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/mesh.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/sab.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/sat.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis copying src/ezdxf/acis/type_hints.py -> build/lib.linux-aarch64-cpython-313/ezdxf/acis creating build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/acadctb.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/binpacking.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/dimlines.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/dxf2code.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/genetic_algorithm.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/geo.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/gerber_D6673.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/importer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/iterdxf.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/menger_sponge.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/meshex.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/mixins.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/mtextsurrogate.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/mtxpl.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/odafc.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/openscad.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/pycsg.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/r12export.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/r12writer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/sierpinski_pyramid.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/tablepainter.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/text2path.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/xplayer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons copying src/ezdxf/addons/xqt.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons creating build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/acad_proxy_entity.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/acad_table.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/acad_xrec_roundtrip.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/acis.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/appdata.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/appid.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/arc.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/attrib.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/block.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/blockrecord.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/boundary_paths.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/circle.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/copy.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dictionary.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dimension.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dimstyle.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dimstyleoverride.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dxfclass.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dxfentity.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dxfgfx.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dxfgroups.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dxfns.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/dxfobj.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/ellipse.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/factory.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/geodata.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/gradient.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/hatch.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/helix.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/idbuffer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/image.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/insert.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/layer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/layout.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/leader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/light.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/line.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/ltype.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/lwpolyline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/material.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/mesh.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/mleader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/mline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/mpolygon.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/mtext.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/mtext_columns.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/objectcollection.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/oleframe.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/pattern.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/point.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/polygon.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/polyline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/shape.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/solid.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/spatial_filter.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/spline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/subentity.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/sun.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/table.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/temporary_transform.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/text.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/textstyle.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/tolerance.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/ucs.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/underlay.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/view.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/viewport.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/visualstyle.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/vport.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/xdata.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/xdict.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities copying src/ezdxf/entities/xline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/entities creating build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/font_face.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/font_manager.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/font_measurements.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/font_synonyms.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/fonts.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/glyphs.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/lff.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/shapefile.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts copying src/ezdxf/fonts/ttfonts.py -> build/lib.linux-aarch64-cpython-313/ezdxf/fonts creating build/lib.linux-aarch64-cpython-313/ezdxf/layouts copying src/ezdxf/layouts/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/layouts copying src/ezdxf/layouts/base.py -> build/lib.linux-aarch64-cpython-313/ezdxf/layouts copying src/ezdxf/layouts/blocklayout.py -> build/lib.linux-aarch64-cpython-313/ezdxf/layouts copying src/ezdxf/layouts/layout.py -> build/lib.linux-aarch64-cpython-313/ezdxf/layouts copying src/ezdxf/layouts/layouts.py -> build/lib.linux-aarch64-cpython-313/ezdxf/layouts creating build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/attributes.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/const.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/encoding.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/extendedtags.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/fileindex.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/hdrvars.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/loader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/packedtags.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/repair.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/tagger.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/tags.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/tagwriter.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/types.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf copying src/ezdxf/lldxf/validator.py -> build/lib.linux-aarch64-cpython-313/ezdxf/lldxf creating build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/_bezier3p.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/_bezier4p.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/_bspline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/_construct.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/_ctypes.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/_mapbox_earcut.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/_matrix44.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/_vector.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/arc.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/bbox.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/bezier.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/bezier_interpolation.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/box.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/bspline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/bulge.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/circle.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/clipping.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/clustering.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/construct2d.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/construct3d.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/cspline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/curvetools.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/ellipse.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/eulerspiral.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/legacy.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/linalg.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/line.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/offset2d.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/parametrize.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/perlin.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/polyline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/rtree.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/shape.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/transformtools.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/triangulation.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math copying src/ezdxf/math/ucs.py -> build/lib.linux-aarch64-cpython-313/ezdxf/math creating build/lib.linux-aarch64-cpython-313/ezdxf/path copying src/ezdxf/path/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/path copying src/ezdxf/path/commands.py -> build/lib.linux-aarch64-cpython-313/ezdxf/path copying src/ezdxf/path/converter.py -> build/lib.linux-aarch64-cpython-313/ezdxf/path copying src/ezdxf/path/nesting.py -> build/lib.linux-aarch64-cpython-313/ezdxf/path copying src/ezdxf/path/path.py -> build/lib.linux-aarch64-cpython-313/ezdxf/path copying src/ezdxf/path/shapes.py -> build/lib.linux-aarch64-cpython-313/ezdxf/path copying src/ezdxf/path/tools.py -> build/lib.linux-aarch64-cpython-313/ezdxf/path creating build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/_linetypes.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/abstract_mtext_renderer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/arrows.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/curves.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/dim_base.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/dim_curved.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/dim_diameter.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/dim_linear.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/dim_ordinate.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/dim_radius.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/dimension.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/forms.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/hatching.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/leader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/linetypes.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/mesh.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/mleader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/mline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/point.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/polyline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/r12spline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render copying src/ezdxf/render/trace.py -> build/lib.linux-aarch64-cpython-313/ezdxf/render creating build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/acdsdata.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/blocks.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/classes.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/entities.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/header.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/headervars.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/objects.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/table.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections copying src/ezdxf/sections/tables.py -> build/lib.linux-aarch64-cpython-313/ezdxf/sections creating build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/_iso_pattern.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/analyze.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/binarydata.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/clipping_portal.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/codepage.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/complex_ltype.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/crypt.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/debug.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/difftags.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/handle.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/indexing.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/juliandate.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/pattern.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/rawloader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/standards.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/strip.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/test.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/text.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/text_layout.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/text_size.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools copying src/ezdxf/tools/zipmanager.py -> build/lib.linux-aarch64-cpython-313/ezdxf/tools creating build/lib.linux-aarch64-cpython-313/ezdxf/addons/acisbrowser copying src/ezdxf/addons/acisbrowser/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/acisbrowser copying src/ezdxf/addons/acisbrowser/browser.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/acisbrowser copying src/ezdxf/addons/acisbrowser/data.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/acisbrowser creating build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/bookmarks.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/browser.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/data.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/find_dialog.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/loader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/model.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/reflinks.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/tags.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser copying src/ezdxf/addons/browser/views.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser creating build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/backend.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/config.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/debug_backend.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/debug_utils.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/dxf.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/file_output.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/frontend.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/gfxproxy.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/hpgl2.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/json.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/layout.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/matplotlib.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/mtext_complex.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/pipeline.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/properties.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/pymupdf.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/pyqt.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/recorder.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/svg.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/text.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/text_renderer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/type_hints.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/unified_text_renderer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing copying src/ezdxf/addons/drawing/qtviewer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing creating build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg copying src/ezdxf/addons/dwg/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg copying src/ezdxf/addons/dwg/classes_section.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg copying src/ezdxf/addons/dwg/const.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg copying src/ezdxf/addons/dwg/crc.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg copying src/ezdxf/addons/dwg/fileheader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg copying src/ezdxf/addons/dwg/header_section.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg copying src/ezdxf/addons/dwg/loader.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg creating build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/__init__.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/api.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/backend.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/deps.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/interpreter.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/page.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/plotter.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/polygon_buffer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/properties.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/tokenizer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 copying src/ezdxf/addons/hpgl2/viewer.py -> build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2 running egg_info writing src/ezdxf.egg-info/PKG-INFO writing dependency_links to src/ezdxf.egg-info/dependency_links.txt writing entry points to src/ezdxf.egg-info/entry_points.txt writing requirements to src/ezdxf.egg-info/requires.txt writing top-level names to src/ezdxf.egg-info/top_level.txt reading manifest file 'src/ezdxf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.hpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.cpp' under directory 'src/ezdxf/acc' warning: no files found matching '*.c' under directory 'src/ezdxf/acc' warning: no files found matching '*' under directory 'tests/data' adding license file 'LICENSE' writing manifest file 'src/ezdxf.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'ezdxf.resources' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'ezdxf.resources' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'ezdxf.resources' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'ezdxf.resources' to be distributed and are already explicitly excluding 'ezdxf.resources' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) copying src/ezdxf/py.typed -> build/lib.linux-aarch64-cpython-313/ezdxf creating build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/16x16.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/24x24.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/256x256.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/32x32.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/48x48.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/64x64.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-copy-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-find-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-goto-bookmark-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-goto-handle-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-goto-line-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-left-arrow-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-next-entity-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-prev-entity-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-right-arrow-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-show-in-tree-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/resources/icon-store-bookmark-64px.png -> build/lib.linux-aarch64-cpython-313/ezdxf/resources copying src/ezdxf/acc/bezier3p.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/bezier4p.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/bspline.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/constants.h -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/construct.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/linetypes.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/mapbox_earcut.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/matrix44.pxd -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/matrix44.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/np_support.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/vector.pxd -> build/lib.linux-aarch64-cpython-313/ezdxf/acc copying src/ezdxf/acc/vector.pyx -> build/lib.linux-aarch64-cpython-313/ezdxf/acc running build_ext Compiling src/ezdxf/acc/vector.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/vector.pyx building 'ezdxf.acc.vector' extension creating build/temp.linux-aarch64-cpython-313 creating build/temp.linux-aarch64-cpython-313/src creating build/temp.linux-aarch64-cpython-313/src/ezdxf creating build/temp.linux-aarch64-cpython-313/src/ezdxf/acc gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/vector.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/vector.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/vector.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/vector.cpython-313-aarch64-linux-gnu.so Compiling src/ezdxf/acc/matrix44.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/matrix44.pyx building 'ezdxf.acc.matrix44' extension gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/matrix44.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/matrix44.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/matrix44.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/matrix44.cpython-313-aarch64-linux-gnu.so Compiling src/ezdxf/acc/bezier4p.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/bezier4p.pyx building 'ezdxf.acc.bezier4p' extension gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/bezier4p.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/bezier4p.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/bezier4p.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/bezier4p.cpython-313-aarch64-linux-gnu.so Compiling src/ezdxf/acc/bezier3p.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/bezier3p.pyx building 'ezdxf.acc.bezier3p' extension gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/bezier3p.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/bezier3p.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/bezier3p.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/bezier3p.cpython-313-aarch64-linux-gnu.so Compiling src/ezdxf/acc/bspline.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/bspline.pyx building 'ezdxf.acc.bspline' extension gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/bspline.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/bspline.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/bspline.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/bspline.cpython-313-aarch64-linux-gnu.so Compiling src/ezdxf/acc/construct.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/construct.pyx building 'ezdxf.acc.construct' extension gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/construct.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/construct.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/construct.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/construct.cpython-313-aarch64-linux-gnu.so Compiling src/ezdxf/acc/mapbox_earcut.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/mapbox_earcut.pyx building 'ezdxf.acc.mapbox_earcut' extension gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/mapbox_earcut.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/mapbox_earcut.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/mapbox_earcut.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/mapbox_earcut.cpython-313-aarch64-linux-gnu.so Compiling src/ezdxf/acc/linetypes.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/linetypes.pyx building 'ezdxf.acc.linetypes' extension gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/linetypes.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/linetypes.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/linetypes.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/linetypes.cpython-313-aarch64-linux-gnu.so Compiling src/ezdxf/acc/np_support.pyx because it changed. [1/1] Cythonizing src/ezdxf/acc/np_support.pyx building 'ezdxf.acc.np_support' extension gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fexceptions -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c src/ezdxf/acc/np_support.c -o build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/np_support.o gcc -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer build/temp.linux-aarch64-cpython-313/src/ezdxf/acc/np_support.o -L/usr/lib64 -o build/lib.linux-aarch64-cpython-313/ezdxf/acc/np_support.cpython-313-aarch64-linux-gnu.so installing to build/bdist.linux-aarch64/wheel running install running install_lib creating build/bdist.linux-aarch64 creating build/bdist.linux-aarch64/wheel creating build/bdist.linux-aarch64/wheel/ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/__main__.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/_options.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/appsettings.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/audit.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/bbox.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/blkrefs.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/colors.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/commands.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/comments.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/disassemble.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/document.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/dwginfo.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/dynblkhelper.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/edgeminer.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/edgesmith.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/entitydb.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/enums.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/explode.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/eztypes.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/filemanagement.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/gfxattribs.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/graphicsfactory.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/groupby.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/messenger.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/msgtypes.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/npshapes.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/protocols.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/proxygraphic.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/query.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/queryparser.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/r12strict.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/recover.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/reorder.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/revcloud.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/select.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/transform.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/units.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/upright.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/urecord.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/version.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/xclip.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/xref.py -> build/bdist.linux-aarch64/wheel/./ezdxf copying build/lib.linux-aarch64-cpython-313/ezdxf/zoom.py -> build/bdist.linux-aarch64/wheel/./ezdxf creating build/bdist.linux-aarch64/wheel/ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/bezier3p.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/bezier4p.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/bspline.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/constants.h -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/construct.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/linetypes.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/mapbox_earcut.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/matrix44.pxd -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/matrix44.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/np_support.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/vector.pxd -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/vector.pyx -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/vector.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/matrix44.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/bezier4p.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/bezier3p.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/bspline.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/construct.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/mapbox_earcut.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/linetypes.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc copying build/lib.linux-aarch64-cpython-313/ezdxf/acc/np_support.cpython-313-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/./ezdxf/acc creating build/bdist.linux-aarch64/wheel/ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/abstract.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/api.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/cache.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/const.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/dbg.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/dxf.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/entities.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/hdr.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/mesh.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/sab.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/sat.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis copying build/lib.linux-aarch64-cpython-313/ezdxf/acis/type_hints.py -> build/bdist.linux-aarch64/wheel/./ezdxf/acis creating build/bdist.linux-aarch64/wheel/ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/acadctb.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/binpacking.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dimlines.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dxf2code.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/genetic_algorithm.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/geo.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/gerber_D6673.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/importer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/iterdxf.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/menger_sponge.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/meshex.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/mixins.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/mtextsurrogate.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/mtxpl.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/odafc.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/openscad.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/pycsg.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/r12export.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/r12writer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/sierpinski_pyramid.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/tablepainter.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/text2path.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/xplayer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/xqt.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons creating build/bdist.linux-aarch64/wheel/ezdxf/addons/acisbrowser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/acisbrowser/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/acisbrowser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/acisbrowser/browser.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/acisbrowser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/acisbrowser/data.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/acisbrowser creating build/bdist.linux-aarch64/wheel/ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/bookmarks.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/browser.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/data.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/find_dialog.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/loader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/model.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/reflinks.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/tags.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/browser/views.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/browser creating build/bdist.linux-aarch64/wheel/ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/backend.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/config.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/debug_backend.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/debug_utils.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/dxf.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/file_output.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/frontend.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/gfxproxy.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/hpgl2.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/json.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/layout.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/matplotlib.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/mtext_complex.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/pipeline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/properties.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/pymupdf.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/pyqt.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/recorder.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/svg.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/text.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/text_renderer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/type_hints.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/unified_text_renderer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/drawing/qtviewer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/drawing creating build/bdist.linux-aarch64/wheel/ezdxf/addons/dwg copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/dwg copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg/classes_section.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/dwg copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg/const.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/dwg copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg/crc.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/dwg copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg/fileheader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/dwg copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg/header_section.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/dwg copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/dwg/loader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/dwg creating build/bdist.linux-aarch64/wheel/ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/api.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/backend.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/deps.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/interpreter.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/page.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/plotter.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/polygon_buffer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/properties.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/tokenizer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 copying build/lib.linux-aarch64-cpython-313/ezdxf/addons/hpgl2/viewer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/addons/hpgl2 creating build/bdist.linux-aarch64/wheel/ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/acad_proxy_entity.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/acad_table.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/acad_xrec_roundtrip.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/acis.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/appdata.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/appid.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/arc.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/attrib.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/block.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/blockrecord.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/boundary_paths.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/circle.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/copy.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dictionary.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dimension.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dimstyle.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dimstyleoverride.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dxfclass.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dxfentity.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dxfgfx.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dxfgroups.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dxfns.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/dxfobj.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/ellipse.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/factory.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/geodata.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/gradient.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/hatch.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/helix.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/idbuffer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/image.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/insert.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/layer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/layout.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/leader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/light.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/line.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/ltype.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/lwpolyline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/material.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/mesh.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/mleader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/mline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/mpolygon.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/mtext.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/mtext_columns.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/objectcollection.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/oleframe.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/pattern.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/point.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/polygon.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/polyline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/shape.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/solid.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/spatial_filter.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/spline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/subentity.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/sun.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/table.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/temporary_transform.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/text.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/textstyle.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/tolerance.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/ucs.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/underlay.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/view.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/viewport.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/visualstyle.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/vport.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/xdata.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/xdict.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities copying build/lib.linux-aarch64-cpython-313/ezdxf/entities/xline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/entities creating build/bdist.linux-aarch64/wheel/ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/font_face.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/font_manager.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/font_measurements.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/font_synonyms.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/fonts.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/glyphs.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/lff.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/shapefile.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts copying build/lib.linux-aarch64-cpython-313/ezdxf/fonts/ttfonts.py -> build/bdist.linux-aarch64/wheel/./ezdxf/fonts creating build/bdist.linux-aarch64/wheel/ezdxf/layouts copying build/lib.linux-aarch64-cpython-313/ezdxf/layouts/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/layouts copying build/lib.linux-aarch64-cpython-313/ezdxf/layouts/base.py -> build/bdist.linux-aarch64/wheel/./ezdxf/layouts copying build/lib.linux-aarch64-cpython-313/ezdxf/layouts/blocklayout.py -> build/bdist.linux-aarch64/wheel/./ezdxf/layouts copying build/lib.linux-aarch64-cpython-313/ezdxf/layouts/layout.py -> build/bdist.linux-aarch64/wheel/./ezdxf/layouts copying build/lib.linux-aarch64-cpython-313/ezdxf/layouts/layouts.py -> build/bdist.linux-aarch64/wheel/./ezdxf/layouts creating build/bdist.linux-aarch64/wheel/ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/attributes.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/const.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/encoding.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/extendedtags.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/fileindex.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/hdrvars.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/loader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/packedtags.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/repair.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/tagger.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/tags.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/tagwriter.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/types.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf copying build/lib.linux-aarch64-cpython-313/ezdxf/lldxf/validator.py -> build/bdist.linux-aarch64/wheel/./ezdxf/lldxf creating build/bdist.linux-aarch64/wheel/ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/_bezier3p.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/_bezier4p.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/_bspline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/_construct.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/_ctypes.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/_mapbox_earcut.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/_matrix44.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/_vector.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/arc.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/bbox.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/bezier.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/bezier_interpolation.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/box.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/bspline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/bulge.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/circle.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/clipping.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/clustering.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/construct2d.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/construct3d.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/cspline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/curvetools.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/ellipse.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/eulerspiral.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/legacy.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/linalg.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/line.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/offset2d.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/parametrize.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/perlin.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/polyline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/rtree.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/shape.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/transformtools.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/triangulation.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math copying build/lib.linux-aarch64-cpython-313/ezdxf/math/ucs.py -> build/bdist.linux-aarch64/wheel/./ezdxf/math creating build/bdist.linux-aarch64/wheel/ezdxf/path copying build/lib.linux-aarch64-cpython-313/ezdxf/path/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/path copying build/lib.linux-aarch64-cpython-313/ezdxf/path/commands.py -> build/bdist.linux-aarch64/wheel/./ezdxf/path copying build/lib.linux-aarch64-cpython-313/ezdxf/path/converter.py -> build/bdist.linux-aarch64/wheel/./ezdxf/path copying build/lib.linux-aarch64-cpython-313/ezdxf/path/nesting.py -> build/bdist.linux-aarch64/wheel/./ezdxf/path copying build/lib.linux-aarch64-cpython-313/ezdxf/path/path.py -> build/bdist.linux-aarch64/wheel/./ezdxf/path copying build/lib.linux-aarch64-cpython-313/ezdxf/path/shapes.py -> build/bdist.linux-aarch64/wheel/./ezdxf/path copying build/lib.linux-aarch64-cpython-313/ezdxf/path/tools.py -> build/bdist.linux-aarch64/wheel/./ezdxf/path creating build/bdist.linux-aarch64/wheel/ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/_linetypes.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/abstract_mtext_renderer.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/arrows.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/curves.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/dim_base.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/dim_curved.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/dim_diameter.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/dim_linear.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/dim_ordinate.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/dim_radius.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/dimension.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/forms.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/hatching.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/leader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/linetypes.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/mesh.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/mleader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/mline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/point.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/polyline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/r12spline.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render copying build/lib.linux-aarch64-cpython-313/ezdxf/render/trace.py -> build/bdist.linux-aarch64/wheel/./ezdxf/render creating build/bdist.linux-aarch64/wheel/ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/acdsdata.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/blocks.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/classes.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/entities.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/header.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/headervars.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/objects.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/table.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections copying build/lib.linux-aarch64-cpython-313/ezdxf/sections/tables.py -> build/bdist.linux-aarch64/wheel/./ezdxf/sections creating build/bdist.linux-aarch64/wheel/ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/__init__.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/_iso_pattern.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/analyze.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/binarydata.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/clipping_portal.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/codepage.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/complex_ltype.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/crypt.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/debug.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/difftags.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/handle.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/indexing.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/juliandate.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/pattern.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/rawloader.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/standards.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/strip.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/test.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/text.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/text_layout.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/text_size.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/tools/zipmanager.py -> build/bdist.linux-aarch64/wheel/./ezdxf/tools copying build/lib.linux-aarch64-cpython-313/ezdxf/py.typed -> build/bdist.linux-aarch64/wheel/./ezdxf creating build/bdist.linux-aarch64/wheel/ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/16x16.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/24x24.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/256x256.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/32x32.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/48x48.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/64x64.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-copy-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-find-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-goto-bookmark-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-goto-handle-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-goto-line-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-left-arrow-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-next-entity-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-prev-entity-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-right-arrow-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-show-in-tree-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources copying build/lib.linux-aarch64-cpython-313/ezdxf/resources/icon-store-bookmark-64px.png -> build/bdist.linux-aarch64/wheel/./ezdxf/resources running install_egg_info Copying src/ezdxf.egg-info to build/bdist.linux-aarch64/wheel/./ezdxf-1.3.4-py3.13.egg-info running install_scripts creating build/bdist.linux-aarch64/wheel/ezdxf-1.3.4.dist-info/WHEEL creating '/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir/pip-wheel-jbdv09bu/.tmp-rujc0ylg/ezdxf-1.3.4-cp313-cp313-linux_aarch64.whl' and adding 'build/bdist.linux-aarch64/wheel' to it adding 'ezdxf/__init__.py' adding 'ezdxf/__main__.py' adding 'ezdxf/_options.py' adding 'ezdxf/appsettings.py' adding 'ezdxf/audit.py' adding 'ezdxf/bbox.py' adding 'ezdxf/blkrefs.py' adding 'ezdxf/colors.py' adding 'ezdxf/commands.py' adding 'ezdxf/comments.py' adding 'ezdxf/disassemble.py' adding 'ezdxf/document.py' adding 'ezdxf/dwginfo.py' adding 'ezdxf/dynblkhelper.py' adding 'ezdxf/edgeminer.py' adding 'ezdxf/edgesmith.py' adding 'ezdxf/entitydb.py' adding 'ezdxf/enums.py' adding 'ezdxf/explode.py' adding 'ezdxf/eztypes.py' adding 'ezdxf/filemanagement.py' adding 'ezdxf/gfxattribs.py' adding 'ezdxf/graphicsfactory.py' adding 'ezdxf/groupby.py' adding 'ezdxf/messenger.py' adding 'ezdxf/msgtypes.py' adding 'ezdxf/npshapes.py' adding 'ezdxf/protocols.py' adding 'ezdxf/proxygraphic.py' adding 'ezdxf/py.typed' adding 'ezdxf/query.py' adding 'ezdxf/queryparser.py' adding 'ezdxf/r12strict.py' adding 'ezdxf/recover.py' adding 'ezdxf/reorder.py' adding 'ezdxf/revcloud.py' adding 'ezdxf/select.py' adding 'ezdxf/transform.py' adding 'ezdxf/units.py' adding 'ezdxf/upright.py' adding 'ezdxf/urecord.py' adding 'ezdxf/version.py' adding 'ezdxf/xclip.py' adding 'ezdxf/xref.py' adding 'ezdxf/zoom.py' adding 'ezdxf/acc/__init__.py' adding 'ezdxf/acc/bezier3p.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/bezier3p.pyx' adding 'ezdxf/acc/bezier4p.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/bezier4p.pyx' adding 'ezdxf/acc/bspline.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/bspline.pyx' adding 'ezdxf/acc/constants.h' adding 'ezdxf/acc/construct.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/construct.pyx' adding 'ezdxf/acc/linetypes.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/linetypes.pyx' adding 'ezdxf/acc/mapbox_earcut.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/mapbox_earcut.pyx' adding 'ezdxf/acc/matrix44.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/matrix44.pxd' adding 'ezdxf/acc/matrix44.pyx' adding 'ezdxf/acc/np_support.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/np_support.pyx' adding 'ezdxf/acc/vector.cpython-313-aarch64-linux-gnu.so' adding 'ezdxf/acc/vector.pxd' adding 'ezdxf/acc/vector.pyx' adding 'ezdxf/acis/__init__.py' adding 'ezdxf/acis/abstract.py' adding 'ezdxf/acis/api.py' adding 'ezdxf/acis/cache.py' adding 'ezdxf/acis/const.py' adding 'ezdxf/acis/dbg.py' adding 'ezdxf/acis/dxf.py' adding 'ezdxf/acis/entities.py' adding 'ezdxf/acis/hdr.py' adding 'ezdxf/acis/mesh.py' adding 'ezdxf/acis/sab.py' adding 'ezdxf/acis/sat.py' adding 'ezdxf/acis/type_hints.py' adding 'ezdxf/addons/__init__.py' adding 'ezdxf/addons/acadctb.py' adding 'ezdxf/addons/binpacking.py' adding 'ezdxf/addons/dimlines.py' adding 'ezdxf/addons/dxf2code.py' adding 'ezdxf/addons/genetic_algorithm.py' adding 'ezdxf/addons/geo.py' adding 'ezdxf/addons/gerber_D6673.py' adding 'ezdxf/addons/importer.py' adding 'ezdxf/addons/iterdxf.py' adding 'ezdxf/addons/menger_sponge.py' adding 'ezdxf/addons/meshex.py' adding 'ezdxf/addons/mixins.py' adding 'ezdxf/addons/mtextsurrogate.py' adding 'ezdxf/addons/mtxpl.py' adding 'ezdxf/addons/odafc.py' adding 'ezdxf/addons/openscad.py' adding 'ezdxf/addons/pycsg.py' adding 'ezdxf/addons/r12export.py' adding 'ezdxf/addons/r12writer.py' adding 'ezdxf/addons/sierpinski_pyramid.py' adding 'ezdxf/addons/tablepainter.py' adding 'ezdxf/addons/text2path.py' adding 'ezdxf/addons/xplayer.py' adding 'ezdxf/addons/xqt.py' adding 'ezdxf/addons/acisbrowser/__init__.py' adding 'ezdxf/addons/acisbrowser/browser.py' adding 'ezdxf/addons/acisbrowser/data.py' adding 'ezdxf/addons/browser/__init__.py' adding 'ezdxf/addons/browser/bookmarks.py' adding 'ezdxf/addons/browser/browser.py' adding 'ezdxf/addons/browser/data.py' adding 'ezdxf/addons/browser/find_dialog.py' adding 'ezdxf/addons/browser/loader.py' adding 'ezdxf/addons/browser/model.py' adding 'ezdxf/addons/browser/reflinks.py' adding 'ezdxf/addons/browser/tags.py' adding 'ezdxf/addons/browser/views.py' adding 'ezdxf/addons/drawing/__init__.py' adding 'ezdxf/addons/drawing/backend.py' adding 'ezdxf/addons/drawing/config.py' adding 'ezdxf/addons/drawing/debug_backend.py' adding 'ezdxf/addons/drawing/debug_utils.py' adding 'ezdxf/addons/drawing/dxf.py' adding 'ezdxf/addons/drawing/file_output.py' adding 'ezdxf/addons/drawing/frontend.py' adding 'ezdxf/addons/drawing/gfxproxy.py' adding 'ezdxf/addons/drawing/hpgl2.py' adding 'ezdxf/addons/drawing/json.py' adding 'ezdxf/addons/drawing/layout.py' adding 'ezdxf/addons/drawing/matplotlib.py' adding 'ezdxf/addons/drawing/mtext_complex.py' adding 'ezdxf/addons/drawing/pipeline.py' adding 'ezdxf/addons/drawing/properties.py' adding 'ezdxf/addons/drawing/pymupdf.py' adding 'ezdxf/addons/drawing/pyqt.py' adding 'ezdxf/addons/drawing/qtviewer.py' adding 'ezdxf/addons/drawing/recorder.py' adding 'ezdxf/addons/drawing/svg.py' adding 'ezdxf/addons/drawing/text.py' adding 'ezdxf/addons/drawing/text_renderer.py' adding 'ezdxf/addons/drawing/type_hints.py' adding 'ezdxf/addons/drawing/unified_text_renderer.py' adding 'ezdxf/addons/dwg/__init__.py' adding 'ezdxf/addons/dwg/classes_section.py' adding 'ezdxf/addons/dwg/const.py' adding 'ezdxf/addons/dwg/crc.py' adding 'ezdxf/addons/dwg/fileheader.py' adding 'ezdxf/addons/dwg/header_section.py' adding 'ezdxf/addons/dwg/loader.py' adding 'ezdxf/addons/hpgl2/__init__.py' adding 'ezdxf/addons/hpgl2/api.py' adding 'ezdxf/addons/hpgl2/backend.py' adding 'ezdxf/addons/hpgl2/deps.py' adding 'ezdxf/addons/hpgl2/interpreter.py' adding 'ezdxf/addons/hpgl2/page.py' adding 'ezdxf/addons/hpgl2/plotter.py' adding 'ezdxf/addons/hpgl2/polygon_buffer.py' adding 'ezdxf/addons/hpgl2/properties.py' adding 'ezdxf/addons/hpgl2/tokenizer.py' adding 'ezdxf/addons/hpgl2/viewer.py' adding 'ezdxf/entities/__init__.py' adding 'ezdxf/entities/acad_proxy_entity.py' adding 'ezdxf/entities/acad_table.py' adding 'ezdxf/entities/acad_xrec_roundtrip.py' adding 'ezdxf/entities/acis.py' adding 'ezdxf/entities/appdata.py' adding 'ezdxf/entities/appid.py' adding 'ezdxf/entities/arc.py' adding 'ezdxf/entities/attrib.py' adding 'ezdxf/entities/block.py' adding 'ezdxf/entities/blockrecord.py' adding 'ezdxf/entities/boundary_paths.py' adding 'ezdxf/entities/circle.py' adding 'ezdxf/entities/copy.py' adding 'ezdxf/entities/dictionary.py' adding 'ezdxf/entities/dimension.py' adding 'ezdxf/entities/dimstyle.py' adding 'ezdxf/entities/dimstyleoverride.py' adding 'ezdxf/entities/dxfclass.py' adding 'ezdxf/entities/dxfentity.py' adding 'ezdxf/entities/dxfgfx.py' adding 'ezdxf/entities/dxfgroups.py' adding 'ezdxf/entities/dxfns.py' adding 'ezdxf/entities/dxfobj.py' adding 'ezdxf/entities/ellipse.py' adding 'ezdxf/entities/factory.py' adding 'ezdxf/entities/geodata.py' adding 'ezdxf/entities/gradient.py' adding 'ezdxf/entities/hatch.py' adding 'ezdxf/entities/helix.py' adding 'ezdxf/entities/idbuffer.py' adding 'ezdxf/entities/image.py' adding 'ezdxf/entities/insert.py' adding 'ezdxf/entities/layer.py' adding 'ezdxf/entities/layout.py' adding 'ezdxf/entities/leader.py' adding 'ezdxf/entities/light.py' adding 'ezdxf/entities/line.py' adding 'ezdxf/entities/ltype.py' adding 'ezdxf/entities/lwpolyline.py' adding 'ezdxf/entities/material.py' adding 'ezdxf/entities/mesh.py' adding 'ezdxf/entities/mleader.py' adding 'ezdxf/entities/mline.py' adding 'ezdxf/entities/mpolygon.py' adding 'ezdxf/entities/mtext.py' adding 'ezdxf/entities/mtext_columns.py' adding 'ezdxf/entities/objectcollection.py' adding 'ezdxf/entities/oleframe.py' adding 'ezdxf/entities/pattern.py' adding 'ezdxf/entities/point.py' adding 'ezdxf/entities/polygon.py' adding 'ezdxf/entities/polyline.py' adding 'ezdxf/entities/shape.py' adding 'ezdxf/entities/solid.py' adding 'ezdxf/entities/spatial_filter.py' adding 'ezdxf/entities/spline.py' adding 'ezdxf/entities/subentity.py' adding 'ezdxf/entities/sun.py' adding 'ezdxf/entities/table.py' adding 'ezdxf/entities/temporary_transform.py' adding 'ezdxf/entities/text.py' adding 'ezdxf/entities/textstyle.py' adding 'ezdxf/entities/tolerance.py' adding 'ezdxf/entities/ucs.py' adding 'ezdxf/entities/underlay.py' adding 'ezdxf/entities/view.py' adding 'ezdxf/entities/viewport.py' adding 'ezdxf/entities/visualstyle.py' adding 'ezdxf/entities/vport.py' adding 'ezdxf/entities/xdata.py' adding 'ezdxf/entities/xdict.py' adding 'ezdxf/entities/xline.py' adding 'ezdxf/fonts/__init__.py' adding 'ezdxf/fonts/font_face.py' adding 'ezdxf/fonts/font_manager.py' adding 'ezdxf/fonts/font_measurements.py' adding 'ezdxf/fonts/font_synonyms.py' adding 'ezdxf/fonts/fonts.py' adding 'ezdxf/fonts/glyphs.py' adding 'ezdxf/fonts/lff.py' adding 'ezdxf/fonts/shapefile.py' adding 'ezdxf/fonts/ttfonts.py' adding 'ezdxf/layouts/__init__.py' adding 'ezdxf/layouts/base.py' adding 'ezdxf/layouts/blocklayout.py' adding 'ezdxf/layouts/layout.py' adding 'ezdxf/layouts/layouts.py' adding 'ezdxf/lldxf/__init__.py' adding 'ezdxf/lldxf/attributes.py' adding 'ezdxf/lldxf/const.py' adding 'ezdxf/lldxf/encoding.py' adding 'ezdxf/lldxf/extendedtags.py' adding 'ezdxf/lldxf/fileindex.py' adding 'ezdxf/lldxf/hdrvars.py' adding 'ezdxf/lldxf/loader.py' adding 'ezdxf/lldxf/packedtags.py' adding 'ezdxf/lldxf/repair.py' adding 'ezdxf/lldxf/tagger.py' adding 'ezdxf/lldxf/tags.py' adding 'ezdxf/lldxf/tagwriter.py' adding 'ezdxf/lldxf/types.py' adding 'ezdxf/lldxf/validator.py' adding 'ezdxf/math/__init__.py' adding 'ezdxf/math/_bezier3p.py' adding 'ezdxf/math/_bezier4p.py' adding 'ezdxf/math/_bspline.py' adding 'ezdxf/math/_construct.py' adding 'ezdxf/math/_ctypes.py' adding 'ezdxf/math/_mapbox_earcut.py' adding 'ezdxf/math/_matrix44.py' adding 'ezdxf/math/_vector.py' adding 'ezdxf/math/arc.py' adding 'ezdxf/math/bbox.py' adding 'ezdxf/math/bezier.py' adding 'ezdxf/math/bezier_interpolation.py' adding 'ezdxf/math/box.py' adding 'ezdxf/math/bspline.py' adding 'ezdxf/math/bulge.py' adding 'ezdxf/math/circle.py' adding 'ezdxf/math/clipping.py' adding 'ezdxf/math/clustering.py' adding 'ezdxf/math/construct2d.py' adding 'ezdxf/math/construct3d.py' adding 'ezdxf/math/cspline.py' adding 'ezdxf/math/curvetools.py' adding 'ezdxf/math/ellipse.py' adding 'ezdxf/math/eulerspiral.py' adding 'ezdxf/math/legacy.py' adding 'ezdxf/math/linalg.py' adding 'ezdxf/math/line.py' adding 'ezdxf/math/offset2d.py' adding 'ezdxf/math/parametrize.py' adding 'ezdxf/math/perlin.py' adding 'ezdxf/math/polyline.py' adding 'ezdxf/math/rtree.py' adding 'ezdxf/math/shape.py' adding 'ezdxf/math/transformtools.py' adding 'ezdxf/math/triangulation.py' adding 'ezdxf/math/ucs.py' adding 'ezdxf/path/__init__.py' adding 'ezdxf/path/commands.py' adding 'ezdxf/path/converter.py' adding 'ezdxf/path/nesting.py' adding 'ezdxf/path/path.py' adding 'ezdxf/path/shapes.py' adding 'ezdxf/path/tools.py' adding 'ezdxf/render/__init__.py' adding 'ezdxf/render/_linetypes.py' adding 'ezdxf/render/abstract_mtext_renderer.py' adding 'ezdxf/render/arrows.py' adding 'ezdxf/render/curves.py' adding 'ezdxf/render/dim_base.py' adding 'ezdxf/render/dim_curved.py' adding 'ezdxf/render/dim_diameter.py' adding 'ezdxf/render/dim_linear.py' adding 'ezdxf/render/dim_ordinate.py' adding 'ezdxf/render/dim_radius.py' adding 'ezdxf/render/dimension.py' adding 'ezdxf/render/forms.py' adding 'ezdxf/render/hatching.py' adding 'ezdxf/render/leader.py' adding 'ezdxf/render/linetypes.py' adding 'ezdxf/render/mesh.py' adding 'ezdxf/render/mleader.py' adding 'ezdxf/render/mline.py' adding 'ezdxf/render/point.py' adding 'ezdxf/render/polyline.py' adding 'ezdxf/render/r12spline.py' adding 'ezdxf/render/trace.py' adding 'ezdxf/resources/16x16.png' adding 'ezdxf/resources/24x24.png' adding 'ezdxf/resources/256x256.png' adding 'ezdxf/resources/32x32.png' adding 'ezdxf/resources/48x48.png' adding 'ezdxf/resources/64x64.png' adding 'ezdxf/resources/icon-copy-64px.png' adding 'ezdxf/resources/icon-find-64px.png' adding 'ezdxf/resources/icon-goto-bookmark-64px.png' adding 'ezdxf/resources/icon-goto-handle-64px.png' adding 'ezdxf/resources/icon-goto-line-64px.png' adding 'ezdxf/resources/icon-left-arrow-64px.png' adding 'ezdxf/resources/icon-next-entity-64px.png' adding 'ezdxf/resources/icon-prev-entity-64px.png' adding 'ezdxf/resources/icon-right-arrow-64px.png' adding 'ezdxf/resources/icon-show-in-tree-64px.png' adding 'ezdxf/resources/icon-store-bookmark-64px.png' adding 'ezdxf/sections/__init__.py' adding 'ezdxf/sections/acdsdata.py' adding 'ezdxf/sections/blocks.py' adding 'ezdxf/sections/classes.py' adding 'ezdxf/sections/entities.py' adding 'ezdxf/sections/header.py' adding 'ezdxf/sections/headervars.py' adding 'ezdxf/sections/objects.py' adding 'ezdxf/sections/table.py' adding 'ezdxf/sections/tables.py' adding 'ezdxf/tools/__init__.py' adding 'ezdxf/tools/_iso_pattern.py' adding 'ezdxf/tools/analyze.py' adding 'ezdxf/tools/binarydata.py' adding 'ezdxf/tools/clipping_portal.py' adding 'ezdxf/tools/codepage.py' adding 'ezdxf/tools/complex_ltype.py' adding 'ezdxf/tools/crypt.py' adding 'ezdxf/tools/debug.py' adding 'ezdxf/tools/difftags.py' adding 'ezdxf/tools/handle.py' adding 'ezdxf/tools/indexing.py' adding 'ezdxf/tools/juliandate.py' adding 'ezdxf/tools/pattern.py' adding 'ezdxf/tools/rawloader.py' adding 'ezdxf/tools/standards.py' adding 'ezdxf/tools/strip.py' adding 'ezdxf/tools/test.py' adding 'ezdxf/tools/text.py' adding 'ezdxf/tools/text_layout.py' adding 'ezdxf/tools/text_size.py' adding 'ezdxf/tools/zipmanager.py' adding 'ezdxf-1.3.4.dist-info/LICENSE' adding 'ezdxf-1.3.4.dist-info/METADATA' adding 'ezdxf-1.3.4.dist-info/WHEEL' adding 'ezdxf-1.3.4.dist-info/entry_points.txt' adding 'ezdxf-1.3.4.dist-info/top_level.txt' adding 'ezdxf-1.3.4.dist-info/RECORD' removing build/bdist.linux-aarch64/wheel Building wheel for ezdxf (pyproject.toml): finished with status 'done' Created wheel for ezdxf: filename=ezdxf-1.3.4-cp313-cp313-linux_aarch64.whl size=4239077 sha256=0ef9efd87da4201654ae9e0bfe4e69959de7a98558dec235e76c04b6beb3b7c0 Stored in directory: /builddir/.cache/pip/wheels/f5/51/36/b7c6f8590a00edec00dc78cfe9f2aa1229f89ee237575a64b1 Successfully built ezdxf + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.nXoBCb + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + '[' /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build + mkdir /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd ezdxf-1.3.4 ++ ls /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/pyproject-wheeldir/ezdxf-1.3.4-cp313-cp313-linux_aarch64.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=ezdxf==1.3.4 + '[' -z ezdxf==1.3.4 ']' + TMPDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/pyproject-wheeldir ezdxf==1.3.4 Using pip 24.3.1 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/pyproject-wheeldir Processing ./pyproject-wheeldir/ezdxf-1.3.4-cp313-cp313-linux_aarch64.whl Installing collected packages: ezdxf Creating /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/bin changing mode of /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/bin/ezdxf to 755 Successfully installed ezdxf-1.3.4 + '[' -d /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/bin/ezdxf /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/bin/ezdxf: updating + rm -rfv /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + site_dirs+=("/usr/lib64/python3.13/site-packages") + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib64/python3.13/site-packages/ezdxf-1.3.4.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf-1.3.4.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT --record /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf-1.3.4.dist-info/RECORD --output /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-record + rm -fv /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf-1.3.4.dist-info/RECORD removed '/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf-1.3.4.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf-1.3.4.dist-info/REQUESTED removed '/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf-1.3.4.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-files --output-modules /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-modules --buildroot /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT --sitelib /usr/lib/python3.13/site-packages --sitearch /usr/lib64/python3.13/site-packages --python-version 3.13 --pyproject-record /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-record --prefix /usr -l ezdxf + find /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages -type f -name '*.h' -print -delete /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acc/constants.h + sed -r -i 's@/usr/lib64/python3.13/site-packages.*/[^/]+\.h$@# &@' /builddir/build/BUILD/python-ezdxf-1.3.4-build/python-ezdxf-1.3.4-5.fc42.aarch64-pyproject-files + install -t /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/man/man1 -D -p -m 0644 /builddir/build/SOURCES/ezdxf.1 /builddir/build/SOURCES/ezdxf-audit.1 /builddir/build/SOURCES/ezdxf-browse.1 /builddir/build/SOURCES/ezdxf-browse-acis.1 /builddir/build/SOURCES/ezdxf-config.1 /builddir/build/SOURCES/ezdxf-draw.1 /builddir/build/SOURCES/ezdxf-hpgl.1 /builddir/build/SOURCES/ezdxf-info.1 /builddir/build/SOURCES/ezdxf-strip.1 /builddir/build/SOURCES/ezdxf-view.1 + /usr/bin/find-debuginfo -j80 --strict-build-id -m -i --build-id-seed 1.3.4-5.fc42 --unique-debug-suffix -1.3.4-5.fc42.aarch64 --unique-debug-src-base python-ezdxf-1.3.4-5.fc42.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4 find-debuginfo: starting Extracting debug info from 9 files DWARF-compressing 9 files sepdebugcrcfix: Updated 9 CRC32s, 0 CRC32s did match. Creating .debug symlinks for symlinks to ELF files Copying sources found by 'debugedit -l' to /usr/src/debug/python-ezdxf-1.3.4-5.fc42.aarch64 find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j80 Bytecompiling .py files below /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13 using python3.13 Bytecompiling .py files below /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib/debug/usr/lib64/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j80 /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acc/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/type_hints.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/api.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/dxf.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/acisbrowser/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/cache.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/const.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/views.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/type_hints.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/acisbrowser/__pycache__/data.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/debug_utils.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/loader.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/hdr.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/find_dialog.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/dwg/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/dwg/__pycache__/const.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/text_renderer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/mesh.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/deps.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/gfxproxy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/dwg/__pycache__/fileheader.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/tags.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/abstract.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/dwg/__pycache__/crc.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/polygon_buffer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/acisbrowser/__pycache__/browser.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/acisbrowser/__pycache__/browser.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/dwg/__pycache__/classes_section.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/unified_text_renderer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/bookmarks.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/dwg/__pycache__/loader.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/tokenizer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/debug_backend.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/reflinks.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/dwg/__pycache__/header_section.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/config.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/dbg.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/model.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/data.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/properties.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/abstract.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/xplayer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/data.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/xqt.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/api.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/text.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/page.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/mesh.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/gerber_D6673.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/interpreter.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/text.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/sat.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/mixins.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/dxf.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/backend.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/odafc.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/plotter.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/openscad.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/sierpinski_pyramid.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/hpgl2/__pycache__/viewer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/backend.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/mtextsurrogate.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/dxf.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/sab.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/openscad.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/file_output.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/browser/__pycache__/browser.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/sab.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/mtext_complex.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/mtextsurrogate.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/backend.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/matplotlib.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/entities.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/factory.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/text2path.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/matplotlib.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/acis/__pycache__/entities.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/layout.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/pyqt.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/factory.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/geo.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/svg.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/iterdxf.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/pyqt.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/layout.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/binpacking.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/meshex.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/block.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/copy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/json.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/pymupdf.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/recorder.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/block.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/appid.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/helix.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/importer.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/line.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/pycsg.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/acad_proxy_entity.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/r12writer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/appdata.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/hpgl2.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/svg.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfclass.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/acad_xrec_roundtrip.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/recorder.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/blockrecord.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/pycsg.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/tablepainter.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/text2path.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/mtxpl.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/meshex.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/acad_table.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/acad_table.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/idbuffer.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/menger_sponge.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/pymupdf.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/acadctb.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dimstyleoverride.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/shape.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/idbuffer.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/properties.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/pipeline.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/qtviewer.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/qtviewer.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/acadctb.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/arc.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/dimlines.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/gradient.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/ltype.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/binpacking.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/importer.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/frontend.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/gradient.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/pattern.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/geodata.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/pipeline.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/frontend.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfgroups.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/blockrecord.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/point.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/pattern.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/layout.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dimstyleoverride.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfgroups.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/dxf2code.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/subentity.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/mtxpl.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/subentity.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfns.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/ltype.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfobj.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/attrib.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/lwpolyline.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/tolerance.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfentity.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/lwpolyline.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/r12export.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/dxf2code.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/tablepainter.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/r12export.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/spatial_filter.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/layer.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfns.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/sun.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/genetic_algorithm.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/text.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/vport.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/oleframe.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/solid.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/hatch.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/circle.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/view.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/acis.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dictionary.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/textstyle.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/drawing/__pycache__/properties.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/font_synonyms.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mesh.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/text.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/font_measurements.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/attrib.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/layer.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/addons/__pycache__/genetic_algorithm.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mtext_columns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mtext.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/font_face.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/glyphs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/viewport.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/lff.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dimstyle.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dimstyle.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/spatial_filter.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dimension.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/table.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/layouts/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/underlay.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfobj.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/leader.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/layouts/__pycache__/blocklayout.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/material.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/ellipse.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/lff.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/hdrvars.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/ttfonts.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/ellipse.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/fileindex.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/loader.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfentity.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/underlay.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/repair.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/font_manager.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/attributes.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/layouts/__pycache__/base.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/fonts.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mesh.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/types.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/table.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/encoding.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/tagger.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/layouts/__pycache__/layout.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dictionary.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/attributes.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/layouts/__pycache__/layouts.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/layouts/__pycache__/layouts.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/layouts/__pycache__/base.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/tagger.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/const.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/curvetools.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/packedtags.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/clustering.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/shapefile.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/temporary_transform.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/light.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/material.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_construct.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/polygon.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/tags.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/extendedtags.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/fonts/__pycache__/shapefile.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/perlin.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/tagwriter.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_bspline.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/triangulation.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/types.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_ctypes.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_mapbox_earcut.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/layouts/__pycache__/layout.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/tagwriter.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/validator.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/bezier.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/bezier_interpolation.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_bezier4p.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/ucs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dimension.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_bezier3p.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/bulge.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/objectcollection.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/construct2d.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/eulerspiral.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_construct.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/lldxf/__pycache__/validator.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/leader.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/transformtools.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/objectcollection.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mleader.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/eulerspiral.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/bbox.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/line.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/polyline.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/polygon.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/cspline.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/offset2d.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/image.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/legacy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/xdict.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/box.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/construct3d.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/parametrize.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/visualstyle.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/nesting.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mpolygon.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/linalg.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/_linetypes.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/circle.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/ucs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/commands.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/shapes.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/circle.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/polyline.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/arc.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_matrix44.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/ellipse.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/acis.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/rtree.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/shape.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/polyline.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/arc.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/tools.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/polyline.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/xline.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mtext.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/curves.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/r12spline.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/clipping.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/abstract_mtext_renderer.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dimension.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/visualstyle.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/xdata.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/rtree.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_linear.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_ordinate.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/leader.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/leader.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/abstract_mtext_renderer.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/bspline.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/xdict.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/linetypes.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/point.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_diameter.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/trace.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_radius.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mleader.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfgfx.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/path.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/bspline.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/headervars.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/tools.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/entities.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/insert.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/crypt.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/dxfgfx.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/image.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/construct3d.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/hatching.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/mline.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/debug.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/debug.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/indexing.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/handle.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/entities.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/header.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/path.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/path/__pycache__/converter.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/difftags.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/juliandate.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_radius.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/forms.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/tables.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/tables.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/rawloader.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/codepage.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/handle.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/boundary_paths.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_curved.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/pattern.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/zipmanager.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/forms.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/arrows.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/clipping.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/complex_ltype.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/math/__pycache__/_vector.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/acdsdata.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_curved.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/classes.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/blocks.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/strip.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/__main__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/test.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/test.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/objects.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/zipmanager.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/classes.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/comments.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/appsettings.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_base.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/hatching.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/text_size.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/dynblkhelper.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/bbox.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/bbox.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/boundary_paths.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/standards.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/blkrefs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/objects.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/colors.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/clipping_portal.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/clipping_portal.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/table.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/dim_base.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/mleader.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/_options.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/eztypes.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/filemanagement.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/analyze.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/blocks.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/sections/__pycache__/table.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/mesh.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/dwginfo.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/disassemble.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/explode.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/msgtypes.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/spline.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/viewport.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/_iso_pattern.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/mleader.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/binarydata.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/text.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/explode.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/queryparser.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/spline.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mline.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/text_layout.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/text_layout.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/edgesmith.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/analyze.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/query.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/tools/__pycache__/text.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/polyline.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/commands.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/groupby.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/xclip.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/entities/__pycache__/mline.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/revcloud.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/units.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/enums.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/audit.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/disassemble.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/protocols.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/r12strict.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/npshapes.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/upright.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/urecord.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/version.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/messenger.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/gfxattribs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/audit.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/edgeminer.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/render/__pycache__/mesh.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/r12strict.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/reorder.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/urecord.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/zoom.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/entitydb.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/transform.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/graphicsfactory.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/select.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/recover.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/document.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/recover.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/document.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/xclip.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/proxygraphic.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/edgeminer.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/entitydb.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/proxygraphic.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/xref.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages/ezdxf/__pycache__/xref.cpython-313.pyc: replacing with normalized version Scanned 62 directories and 1097 files, processed 472 inodes, 472 modified (262 replaced + 210 rewritten), 0 unsupported format, 0 errors Reading /builddir/build/BUILD/python-ezdxf-1.3.4-build/SPECPARTS/rpm-debuginfo.specpart Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.eQZF7w + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd ezdxf-1.3.4 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=80 + /usr/bin/pytest -k '' tests integration_tests -v ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4 configfile: pytest.ini collecting ... collected 8131 items / 2 skipped tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_init PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_immutability PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_equality PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_index_able PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_unpack PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_iterable PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_public_attributes PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_dxf_str PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_xcode_for PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_is_valid_handle PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_init PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_clone PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_dxf_tags PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_dxf_string PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_xdata_string PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_init PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_index_able PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_dxf_str PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_long_string PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_hexstr_to_bytes PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_for_preceding_length_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_if_data_tag_values_are_bytes PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_if_empty_data_creates_a_length_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_if_tag_value_size_is_limited_to_chunk_size PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_if_merged_tag_values_matches_source_data PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_single_value_code PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_single_value_value PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_single_value_str PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_not_ispoint PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_ispoint PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test__point_2coords PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_point_3coords PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_point_str PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_tag_array_init PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_tag_array_clone PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_inherited_array PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_basics PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_advanced PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_delete PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_delete_slices PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_insert PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_to_dxf_tags PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertext_array_transform_by_ucs PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertext_transform PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_010_binary_data.py::test_hexstr_to_bytes PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_010_binary_data.py::test_hexstr_data_to_bytes_1 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_010_binary_data.py::test_hexstr_data_to_bytes_2 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_010_binary_data.py::test_bytes_to_hexstr PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_011_codepage.py::test_ansi_1250 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_011_codepage.py::test_default PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_011_codepage.py::test_tocodepage_1252 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_011_codepage.py::test_tocodepage_936 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_012_crypt.py::test_decode PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_012_crypt.py::test_encode PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_1582_10_15 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_1990_01_01 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_2000_01_01 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_2011_03_21 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_1999_12_31 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestCalendarDate::test_1999_12_31 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestCalendarDate::test_2011_03_21 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_014_multi_tags_text.py::test_text_to_multi_tags PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_valid_tags PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_app_data_without_closing_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_app_data_without_opening_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_app_data_structure_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_xrecord_with_group_code_102 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_xrecord_with_long_closing_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_xdata PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_unbalanced_xdata_list_1 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_unbalanced_xdata_list_2 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_xdata_list_nesting PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_extended_group_code_before_XDATA PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_embedded_object_follows_XDATA PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_ascii_encoding PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_surrogate_escape_support_in_dxf_replace_encoder[300\n\udcb7\udc9e\udcff\n-300\n\xb7\x9e\xff\n] PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_surrogate_escape_support_in_dxf_replace_encoder[123\u6539-123\U+6539] PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_XRECORD_handling_of_dxf_replace_encoder[0] PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_XRECORD_handling_of_dxf_replace_encoder[1] PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_XRECORD_handling_of_dxf_replace_encoder[2] PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_next PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_next_function PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_seed PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_returns_not_zero PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_returns_not_negative PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_reset PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_init_and_reset_rejects_invalid_ints PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_copy_handle_generator PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_copied_handle_generators_are_independent PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_tokenizer_just_numbers PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_tokenizer_strings PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_tokenizer_string_with_comma PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_tokenizer_shapes PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_parser_just_numbers PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_parser_strings PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_parser_shape PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_lin_compiler_floats PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_lin_compiler_strings PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_lin_compiler_shape PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_tags_from_complex_text PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_tags_from_complex_shape PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_new_table_entry_has_text_style_handle PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_invalid_layer_name PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_the_asterisk_in_layer_names PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_allow_dxf_unicode_encoding_in_layer_names PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_allow_dxf_mplus_encoding_in_layer_names PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_strange_but_valid_layer_name PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_adsk_special_layer PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_lineweight PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_lineweight_fixer PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_aci_color PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_in_integer_range PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fit_into_integer_range PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_in_float_range PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fit_into_float_range PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_null_vector PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_positive_value PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_integer_bool PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_integer_bool PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[test\ntext\r] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[test\r\ntext] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[testtext^] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[test\ntext^] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[test\ntext^\r] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[test\ntext\r] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[test\r\ntext] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[testtext^] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[test\ntext^] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[test\ntext^\r] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_negative PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_zero PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_one_of PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_greater_or_equal_zero PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_bitmask PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_bitmask PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[255_0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[-7] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[-1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[7] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[255_1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_layer_color[256_0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_layer_color[0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_layer_color[256_1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_a_handle[0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_a_handle[100] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_a_handle[FEFE] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_a_handle[None] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_a_handle[0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_a_handle[2097152] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_a_handle[xyz] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_transparency[33554432] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_transparency[33554559] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_transparency[33554687] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_transparency[16777216] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[None] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[127] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[255] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[16777217] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_rgb[rgb0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_rgb[rgb1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_rgb[rgb2] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_rgb[rgb3] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[None] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[1_0] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[1.0] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[1_1] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb4] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb5] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb6] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb7] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb8] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb9] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb10] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_low_level_tagger PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_fix_line_coordinate_order PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_fix_2d_coordinates PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_dont_fix_invalid_coordinates PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_fix_3d_coordinates PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_fix_two_lines_coordinate_order PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_022_set_flag_state.py::test_set_flag_state PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_023_fix_invalid_located_group_codes.py::test_fix_invalid_located_acdb_entity_group_codes PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_string_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_int_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_float_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_handle_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_reference_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_ctrl_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_point_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_binary_data_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_raise_index_error_for_invalid_column_index PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_from_text PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_write PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_update PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_update_error PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_set_first PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_first PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_first_default PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_first_error PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_get_handle_5 PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_get_handle_105 PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_get_handle_create_new PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_all PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_tag_index PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_first_value_error PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_clone_is_equal PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_clone_is_independent PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_deepcopy PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_replace_handle_5 PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_replace_handle_105 PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_replace_no_handle_without_error PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_remove_tags PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_strip_tags PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_has_tag PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_has_not_tag PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_pop_tags PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_handle PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_soft_pointers PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_soft_owners PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_hard_pointers PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_hard_owners PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_translatable_pointers PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_is_translatable_pointer PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_has_translatable_pointer PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_with_start_param PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_with_end_param PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_with_start_and_end_param PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_none_existing_codes PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_all_codes PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_emtpy_tags PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_041_group_tags.py::test_init PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_041_group_tags.py::test_first_group PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_041_group_tags.py::test_second_group PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_041_group_tags.py::test_last_group PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_strtag_int PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_strtag_float PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_strtag_str PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_strtag2_vector PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_not_skip_comments PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_3d_coords PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_2d_coords PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_multiple_2d_coords PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_no_line_break_at_eof PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_float_to_int PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_no_eof PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_low_level_tagger_skip_comments PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_low_level_tagger_not_skip_comments PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_next PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_to_list PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_one_point_reader PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_xdata_coords PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_read_2D_points PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_error_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_float_to_int PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_coord_error_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_polyline_with_xdata PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_invalid_y_coord_after_xyz PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_invalid_y_coord_after_xy PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_z_axis_after_valid_point PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_misplaced_z_axis PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_correct_xy_axis PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_invalid_single_x_axis PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_preserve_leading_0_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_preserve_elevation_group_code_38 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_init_appdata PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_init_with_tags PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_init_xdata PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_init_one_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_getitem PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_appdata_content_count PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_appdata_content PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_tags_skips_appdata_content PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xdata_content_count PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_tags_skips_xdata_content PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_copy PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_getitem_layer PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_getitem_xdict PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_getitem_parent PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_get_last_item PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_tagscount PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_subclass_AcDbSymbolTableRecord PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_subclass_AcDbLayerTableRecord PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_clone_is_equal PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_replace_handle PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xdata_count PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_tags_count PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xdata3_tags PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_new_data PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_set_new_data PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_append_xdata PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_read_tags PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_read_tags_2 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_read_tags_3 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_key_error PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_skip_empty_subclass PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_get_not_existing_reactor PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_new_reactors PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_append_not_existing_reactors PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_append_to_existing_reactors PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_legacy_mode PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_group_code_1000_outside_XDATA PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xrecord_with_group_code_102 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xrecord_with_long_closing_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_loader PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_error_section PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_valid_structure PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_eof_without_lineending PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_missing_eof PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_missing_endsec PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_missing_endsec_and_eof PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_missing_section PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_tag2 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_point_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_str PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_anything PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::TestTagCollector::test_write_tag2 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::TestTagCollector::test_write_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::TestTagCollector::test_write_point_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::TestTagCollector::test_write_str PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_parse_embedded_object PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_embedded_object_structure PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_mtext_structure PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_mtext_set_text PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_two_embedded_objects PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_iter_tags PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_054_dxfattr.py::test_return_default PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_bytes_loader[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_bytes_loader[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_encoding_detector[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_encoding_detector[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_windows_line_endings_CR_LF[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_windows_line_endings_CR_LF[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_linux_and_macos_x_line_endings_LF[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_linux_and_macos_x_line_endings_LF[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_line_endings_only_CR PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_malformed_group_codes[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_malformed_group_codes[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_malformed_value_tags PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_malformed_integer_tags PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_underlines_in_numbers_are_handled_by_python PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_ignore_whitespace_in_floats[50\n1.000 e20\n] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_ignore_whitespace_in_floats[50\n1.000 E20\n] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_ignore_whitespace_in_floats[50\n1.000\te20\n] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_ignore_whitespace_in_floats[50\n1.000\tE20\n] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::test_out_of_sync_tags PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_missing_dxf_version_is_r12 PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_r12 PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1004] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1006] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1009] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1012] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1014] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1015] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1018] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1021] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1024] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1027] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1032] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_any_well_formed_version PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[AC10x9] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[XC1009] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[0000] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[AC10240] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[None] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_strip_whitespace_from_version_string[ AC1015] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_strip_whitespace_from_version_string[AC1015 ] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_strip_whitespace_from_version_string[ AC1015 ] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_zero_int[0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_zero_int[00] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_zero_int[+0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_zero_int[-0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_int[+1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_int[1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_int[01] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_in_front_of_int[ 1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_in_front_of_int[\t1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_in_front_of_int[\r1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_in_front_of_int[ \r1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_behind_int[1 ] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_behind_int[1\t] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_behind_int[1\r] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_behind_int[1 \r] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1.] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1,] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1a] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1-] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1+] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1$] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1 1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[+1 x fd fgg] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[\t\r+1_ ] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[1.] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[1,] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[1a] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[1-] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[\t\r+1_ ] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_zero[0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_zero[0.0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_zero[+0.] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_zero[-0.] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[+1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1.] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1.e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1.0e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1E0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1e+0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1e-0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1.] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1.e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1.0e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_negative_exponent PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_in_front_of_float[ 1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_in_front_of_float[\t1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_in_front_of_float[\r1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_in_front_of_float[ \r1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1.0 ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1.\t] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1.\r] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1. \r] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1e0 \t] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1+] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1$] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1 1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[+1 x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[\t\r+1_ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.+] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.$] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1. 1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[+1. x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[\t\r+1._ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0+] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0$] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0 1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[+1e0 x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[\t\r+1e0_ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[ 1e+0xx] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[ 1e-0xx] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[ 1E+0xx] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[ 1E-0xx] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1+] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1$] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1 1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[+1 x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[\t\r+1_ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_has_dxf_unicode_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_has_not_dxf_unicode_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_decode_empty_string PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_decode_regular_escape_sequences PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_decode_regular_string_without_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_successive_chars PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_extra_backslash PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_extra_digits PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_has_mif_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_has_not_mif_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_decode_mif_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_decode_empty_string PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_decode_regular_escape_sequences PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_decode_regular_string_without_mif_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py::test_unique_group_codes PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py::test_ignored_group_codes PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py::test_duplicate_group_codes PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py::test_if_callbacks_are_marked PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_export_json_tags PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_export_compact_json_tags PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_load_json_tags PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_load_compact_json_tags PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_load_dxf_document_from_json_tags PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_load_dxf_document_from_compact_json_tags PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_handle_and_owner PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_default_values PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_get_value_with_default PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_set_values PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_value_types PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_delete_attribs PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_is_supported PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_dxftype PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_cloning PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_deepcopy_usage PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_dxf_export_one_attribute PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_dxf_export_two_attribute PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_regular_usage PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_protect_entity_back_link_from_update PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_protect_handle_and_owner_from_update_by_default PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_can_exclude_attributes_from_update PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_can_update_handle_and_owner_on_demand PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_raises_attribute_error_for_invalid_attribute PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_raises_value_error_for_invalid_attribute_value PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_update_can_ignore_errors_on_demand PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_if_fast_load_handles_duplicate_group_codes PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_if_fast_load_handles_callback_group_codes PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_if_fast_load_handles_unprocessed_duplicate_group_codes PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_detect_implementation_version_returns_stored_version PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_detect_implementation_version_returns_default PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_get PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_add PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_add_data PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_delete PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_dxf_export PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_clone PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_reactors_new PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_copy_reactors PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_reactors_add PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_reactors_set PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_reactors_discard PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_export_dxf PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_from_tags PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_new_extension_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_direct_interface PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_get_returns_none_for_non_existing_entries PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_supports_handle_property PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_line_new_extension_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_del_entity_with_ext_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_discard_existing_extension_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_discard_non_existing_extension_dict_without_exception PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_discard_empty_extension PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_do_not_discard_non_empty_extension PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_multiple_destroy_calls PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_link_dxf_object_to_extension_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_add_new_dictionary_to_xdict PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_empty_xdata PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_add_data PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_safe_init PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_prevent_adding_invalid_data[1] PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_prevent_adding_invalid_data[0] PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_prevent_adding_invalid_data[1007] PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_get_data PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_replace_xdata PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_discard_xdata PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_cloning PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_dxf_export PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_has_xdata_list PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_get_xlist_exception PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_set_xdata_list PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_discard_xdata_list PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_replace_xdata_list PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_poyline_with_xdata PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_remove_all_none_xdata_group_codes PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestEncodedXDATATags::test_find_begin_and_end_of_column_info PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestEncodedXDATATags::test_raise_exception_if_not_found PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestEncodedXDATATags::test_raise_exception_without_end_tag PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestEncodedXDATATags::test_raise_exception_without_begin_tag PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_load_not_existing_list PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_load_existing_list PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_load_user_list PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_list_like_getitem_interface PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_list_like_setitem_interface PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_list_like_insert_interface PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_list_like_delitem_interface PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_commit_creates_valid_XDATA PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_commit_replaces_existing_XDATA PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_modify_existing_XDATA PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_modify_existing_user_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_context_manager_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_invalid_line_break_characters_raise_exception[\n] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_invalid_line_break_characters_raise_exception[\r] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_too_long_string_raise_exception PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_load_not_existing_dict PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_load_existing_dict PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_load_user_dict PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_dict_like_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_dict_like_setitem_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_setitem_accepts_only_strings[0] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_setitem_accepts_only_strings[3.14] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_setitem_accepts_only_strings[data2] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_setitem_accepts_only_strings[data3] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_dict_like_del_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_discard_non_existing_key PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_commit_creates_valid_XDATA PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_context_manager_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_update_from_dict PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_update_supports_only_string_keys PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_move PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_scale PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_mirror_x PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_scale_and_mirror_y PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_rotate PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_dxfentity_is_set_compatible PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_is_not_graphic_entity PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_default_constructor PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_init_with_tags PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_invalid_dxf_attrib PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_get_all_dxf_attribs PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_get_dxf_attribs_and_discard_some PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_write_r12_dxf PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_write_latest_dxf PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_is_alive PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_calling_destroy_multiple_times PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_dont_write_handles_for_R12 PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_uuid PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_source_of_copy_is_none_for_a_new_entity PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_set_source_of_copy PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_delete_missing_source_of_copy_without_exception PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_source_block_reference_is_none_for_a_new_entity PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_set_source_block_reference PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_setting_source_block_reference_twice_without_exception PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_setting_source_block_reference_a_second_time_has_no_effect PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_do_not_copy_source_block_reference PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_delete_missing_source_block_reference_without_exception PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_str PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_get_dxf_defaul PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_ocs PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestAppData::test_new_app_data PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestAppData::test_get_app_data PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestAppData::test_set_app_data PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestAppData::test_not_existing_appid PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_new_app_data PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_get_xdata PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_set_xdata PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_not_existing_appid PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_get_xdata_list_exception PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_has_xdata_list PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_set_xdata_list PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_discard_xdata_list PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_replace_xdata_list PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestReactors::test_has_no_reactors PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestReactors::test_set_reactors PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestReactors::test_append_handle PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestReactors::test_discard_handle PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestGetLayout::test_get_layout_model_space PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestGetLayout::test_get_layout_paper_space PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestGetLayout::test_get_layout_block PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestGetLayout::test_get_layout_without_layout PASSED [ 7%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_default_attribs PASSED [ 7%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_wrapped_mtext_is_a_graphic_entity PASSED [ 7%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_wrapped_mtext_is_not_a_dxf_object PASSED [ 7%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_wrapped_mtext_returns_dxfattribs_dict PASSED [ 7%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_dxf_tag_storage_is_a_non_graphical_entity_by_default PASSED [ 7%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_dxf_tag_storage_returns_empty_dxfattribs_dict_for_non_graphical_objetcs PASSED [ 7%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_dxf_export PASSED [ 7%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_virtual_entities PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_supports_virtual_entities_protocol PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_is_graphic_entity PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_init_from_tags PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_true_color PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_color_name PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_transparency PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_default_attributes PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_aci_color_index_fixer PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_lineweight_fixer PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_is_linetype_validator_active PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_is_layer_name_validator_active PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_clone_graphical_entity PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_basic_transformation_interfaces PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_unlink_from_layout PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_unlink_from_layout_without_doc PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_unlink_destroyed_entity_from_layout PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_recover_acdb_entity_tags PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_recover_acdb_entity_tags_does_not_replace_existing_attribs PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_recover_acdb_entity_tags_ignores_unknown_tags PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_set_rgb_from_tuple PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_set_rgb_from_rgb PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_setting_none_raises_type_error PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_get_rgb PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_get_rgb_unset_true_color PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_delete_rgb PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_deleting_unset_value_does_not_raise_exception PASSED [ 8%] tests/test_01_dxf_entities/test_112b_dxfobj.py::test_is_dxf_object PASSED [ 8%] tests/test_01_dxf_entities/test_112b_dxfobj.py::test_wrapped_xrecord_is_a_dxf_object PASSED [ 8%] tests/test_01_dxf_entities/test_112b_dxfobj.py::test_wrapped_xrecord_is_not_a_graphic_entity PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_registered PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_default_init PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_default_new PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_load_from_text PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_write_dxf_2000 PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_write_dxf_2004 PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_write_dxf_r12 PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_entity_type PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_registered_structural_entities PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_registered_table_entries PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_new PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_factory_load PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_bind_entity_to_doc PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_bind_entity_with_existing_handle_to_doc PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_bind_dead_entity_to_doc PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_is_bound_true PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_is_bound_false PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_if_destroyed_entity_is_bound PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_create_db_entry PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_unbind_bound_entity PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_unbind_unbound_entity PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_unbind_destroyed_entity PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_create_new_empty_drawing PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_section PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_viewports PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_layers PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_linetypes PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_text_styles PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_dim_styles PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_views PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_appids PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_ucs PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_get_modelspace PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_get_paperspace PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_getitem PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_len PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_getitem_with_keyerror PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_owner PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_handle PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_get PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_get_entity PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_get_without_keyerror PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_contains PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_not_contains PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_delete_existing_key PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_delete_not_existing_key PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_remove_existing_key PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_remove_not_existing_key PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_discard_existing_key PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_discard_not_existing_key PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_clear PASSED [ 8%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_keys PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_items PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_find_key PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_len PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_add_first_item PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_add_first_item_2 PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_add_and_replace_first_item PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_clear PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_do_not_recover_owner_tag_at_loading_stage PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_dictionary_loads_owner_tag PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_get_entity_invalid_handle PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_add_sub_dict PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDictionaryVar::test_add_dict_var PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDictionaryVar::test_value_property PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_add_xrecord PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_cannot_add_graphical_entities_to_dict PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_audit_fix_invalid_root_dict_owner PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_audit_ok PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_audit_invalid_pointer PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_audit_fix_invalid_pointer PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_link_dxf_object_to_dictionary PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_get_existing_value PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_get_not_existing_value PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_get_default_value PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_set_default_value PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_create_place_holder_for_invalid_default_vaue PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_keys_are_copied PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_objects_exist PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_objects_are_copied PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_objects_are_not_bound_to_document PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_fully_manual_dictionary_copy PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_data_is_bound[DICTVAR] PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_data_is_bound[XRECORD] PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_xrecord PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_objects_are_owned_by_copy PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copy_sub_dictionary PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_is_not_hard_owner PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_keys_are_copied PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_objects_exist PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_objects_are_not_copied PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_objects_are_not_owned_by_copy PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_copied_dictionary_is_bound PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_handle PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_name PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_flags PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_color PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_linetype PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_name PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_color PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_color_2 PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_color_for_off_layer PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_color_as_property PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_locked PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_not_locked PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_on PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_off PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_frozen PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_freeze PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_thaw PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_invald_layer_name PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_true_color_as_rgb PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_true_color_as_rgb PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_default_description PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_default_description_at_existing_xdata PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_description_for_unusual_xdata_structure PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_description PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_replace_description PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_default_transparency PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_fully_transparent_layer PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_half_transparent_layer PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_opaque_layer PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_invalid_transparency_returns_opaque PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_transparency_byblock_returns_opaque PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_transparency PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_replace_transparency PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_malformed_layer PASSED [ 9%] tests/test_01_dxf_entities/test_118_appid_table_entry.py::test_name PASSED [ 9%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_name PASSED [ 9%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_origin PASSED [ 9%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_xaxis PASSED [ 9%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_yaxis PASSED [ 9%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_ucs PASSED [ 9%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_default_vales PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_font PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_width PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_height PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_oblique PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_bigfont PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_is_backward PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_set_backward PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_is_upside_down PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_set_is_upside_down PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_set_is_vertical_stacked PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_not_existing_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_discard_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_set_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_dxf_details_for_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_malformed_layer PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_description PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_pattern_items_count PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_pattern_tags_details PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_complex_linetype_name PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_compile_pattern PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_get_simplified_line_pattern PASSED [ 10%] tests/test_01_dxf_entities/test_122_vport_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_123_view_table_entry.py::test_view_attribute_access PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_blk1_and_blk2_arrows PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_both_arrows PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_tick PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_text_align PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_text_format PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_handle_export PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_resource_handles_export_R2000 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_text_stream_for_resource_handles_R2000 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dont_write_handles_for_R12 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_name PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_blk1_and_blk2_ticks PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_both_ticks PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_virtual_dimtxsty_attribute PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_virtual_dimldrblk_attribute PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_virtual_linetypes_attributes PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_group_codes PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_set_align PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_text_format_2 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_dimline_format PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_extline_format PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_extline1 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_extline2 PASSED [ 10%] tests/test_01_dxf_entities/test_125_image_def.py::test_registered PASSED [ 10%] tests/test_01_dxf_entities/test_125_image_def.py::test_default_init PASSED [ 10%] tests/test_01_dxf_entities/test_125_image_def.py::test_default_new PASSED [ 10%] tests/test_01_dxf_entities/test_125_image_def.py::test_load_from_text PASSED [ 10%] tests/test_01_dxf_entities/test_125_image_def.py::test_write_dxf PASSED [ 10%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_registered PASSED [ 10%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_default_init PASSED [ 10%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_default_new PASSED [ 10%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_load_from_text PASSED [ 10%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_write_dxf PASSED [ 10%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_registered PASSED [ 10%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_default_init PASSED [ 10%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_default_new PASSED [ 10%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_load_from_text PASSED [ 10%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_write_dxf PASSED [ 10%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_registered PASSED [ 10%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_default_init PASSED [ 10%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_default_new PASSED [ 10%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_load_from_text PASSED [ 10%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_write_dxf PASSED [ 10%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_dwf_definition PASSED [ 10%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_dgn_definition PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_registered PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_default_init PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_default_new PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_load_from_text PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_write_dxf PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_handle PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_parent_handle PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_cloning_parameter PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_get_data PASSED [ 10%] tests/test_01_dxf_entities/test_129_xrecord.py::test_last_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_iter_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_len PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_set_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_append_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_extend PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_clear PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_reset PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_generic_id_buffer PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_set_get_id_buffer PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_dxf_tags PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_clone PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_generic_field_list PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_set_get_field_list PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_dxf_tags PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_clone PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_generic_field_list PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_set_get_field_list PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_dxf_tags PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_clone PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_sun PASSED [ 11%] tests/test_01_dxf_entities/test_134_material.py::test_material_manager PASSED [ 11%] tests/test_01_dxf_entities/test_134_material.py::test_export_matrix PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_dxf_attributes PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_get_mesh_data PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_delete_and_extend_mesh_data PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_set_mesh_data PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_coordinate_system_definition PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_create_new_geo_data_for_model_space PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_interpreting_geodata PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_setup_local_grid_epsg_3395 PASSED [ 11%] tests/test_01_dxf_entities/test_136_vba_project.py::test_vba_project PASSED [ 11%] tests/test_01_dxf_entities/test_136_vba_project.py::test_load_vba_project PASSED [ 11%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_sort_entities_table PASSED [ 11%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_sort_entities_table_as_list PASSED [ 11%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_sort_entities_table_to_dict PASSED [ 11%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_remove_invalid_handles PASSED [ 11%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_remove_handle PASSED [ 11%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_load_table PASSED [ 11%] tests/test_01_dxf_entities/test_138_setup_visual_styles.py::test_visualstyle PASSED [ 11%] tests/test_01_dxf_entities/test_138_setup_visual_styles.py::test_setup_standard_visual_styles PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_all PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_str PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_float PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_int PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_vec3 PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_top_level_list PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_nested_list_inside_list PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_top_level_dict PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_nested_dict_as_dict_value PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_nested_list_as_dict_value PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_nested_dict_inside_list PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_missing_open_tag_raises_dxf_structure_error PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_missing_close_tag_raises_dxf_structure_error PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_invalid_group_code_raises_value_error PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_invalid_line_break_characters_raise_exception[\n] PASSED [ 11%] tests/test_01_dxf_entities/test_139_user_record.py::test_invalid_line_break_characters_raise_exception[\r] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_too_long_string_raise_exception PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_empty_data PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_simple_types[str] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_simple_types[int] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_simple_types[float] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_simple_types[Vec3] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[flat list] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[flat dict] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[nested list] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[nested dict] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[list as dict value] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[dict inside a list] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestUserRecord::test_required_final_commit_to_store_data_in_xrecord PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestUserRecord::test_works_as_context_manager PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestUserRecord::test_str PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_parse_binary_data PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestBinaryRecord::test_required_final_commit_to_store_data_in_xrecord PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestBinaryRecord::test_works_as_context_manager PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestBinaryRecord::test_stores_line_endings PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestBinaryRecord::test_str PASSED [ 12%] tests/test_01_dxf_entities/test_140_block_record.py::test_duplicate_handle_loading_error PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_doc_setup PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_get_new_vp_override_object PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_if_a_layer_has_any_overrides PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_if_a_layer_has_overrides_for_specific_viewport PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_get_default_layer_values_for_missing_overrides PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_color_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_color_raises_value_error[300] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_color_raises_value_error[256] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_color_raises_value_error[0] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_rgb_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_remove_rgb_by_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_transparency_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_linetype_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_linetype_without_table_entry_raises_value_error PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_lineweight_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_lineweight_raises_value_error[300] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_lineweight_raises_value_error[-1] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_lineweight_raises_value_error[-2] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_discard_specific_overrides PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_discard_all_overrides PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_discard_ignores_none_existing_vp_handles PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_commit_creates_proper_xdict_structure PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_load_overrides_for_one_vp PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_load_overrides_for_two_vp PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_commit_no_overrides_creates_no_xdict PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_resetting_overrides_to_default_removes_xdict_entry PASSED [ 12%] tests/test_01_dxf_entities/test_142_copy_strategy.py::test_basic_copy PASSED [ 12%] tests/test_01_dxf_entities/test_142_copy_strategy.py::test_ignore_errors_in_linked_entities PASSED [ 12%] tests/test_01_dxf_entities/test_142_copy_strategy.py::test_raise_copy_not_supported_exception PASSED [ 12%] tests/test_01_dxf_entities/test_143_spatial_filter.py::test_setup_from_tags PASSED [ 12%] tests/test_01_dxf_entities/test_143_spatial_filter.py::test_loaded_transform_matrix PASSED [ 12%] tests/test_01_dxf_entities/test_143_spatial_filter.py::test_loaded_inverse_insert_matrix PASSED [ 12%] tests/test_01_dxf_entities/test_143_spatial_filter.py::test_dxf_export PASSED [ 12%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_init PASSED [ 12%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_has_section PASSED [ 12%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_add_new_section PASSED [ 12%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_replace_existing_section PASSED [ 12%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_get_section PASSED [ 12%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_discard_existing_section PASSED [ 12%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_discard_non_existing_section PASSED [ 12%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_locate_section PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_registered PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_default_init PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_default_new PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_load_from_text[0\nLINE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n11\n1.0\n21\n1.0\n31\n1.0\n] PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_load_from_text[0\nLINE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbLine\n10\n0.0\n20\n0.0\n30\n0.0\n11\n1.0\n21\n1.0\n31\n1.0\n] PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_write_dxf[0\nLINE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbLine\n10\n0.0\n20\n0.0\n30\n0.0\n11\n1.0\n21\n1.0\n31\n1.0\n-AC1015] PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_write_dxf[0\nLINE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n11\n1.0\n21\n1.0\n31\n1.0\n-AC1009] PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_get_pass_through_ocs PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_transform PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_translation PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_rotation PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_scaling PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_copy_entity_transparency PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_setting_invalid_transparency_value_raises_exception PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_load_entity_with_invalid_transparency PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_recover_acdb_entity_tags PASSED [ 12%] tests/test_02_dxf_graphics/test_200_line.py::test_malformed_line PASSED [ 12%] tests/test_02_dxf_graphics/test_201_point.py::test_registered PASSED [ 12%] tests/test_02_dxf_graphics/test_201_point.py::test_default_init PASSED [ 12%] tests/test_02_dxf_graphics/test_201_point.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_load_from_text[0\nPOINT\n5\n0\n8\n0\n10\n1.0\n20\n2.0\n30\n3.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_load_from_text[0\nPOINT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbPoint\n10\n1.0\n20\n2.0\n30\n3.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_load_malformed_entity PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_write_dxf[0\nPOINT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbPoint\n10\n1.0\n20\n2.0\n30\n3.0\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_write_dxf[0\nPOINT\n5\n0\n8\n0\n10\n1.0\n20\n2.0\n30\n3.0\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_transform PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_fast_translation PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_do_not_explode_point_entity PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_virtual_sub_entities PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_registered PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_default_init PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_negative_radius PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_zero_radius PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_extrusion_can_not_be_a_null_vector PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_load_from_text[0\nCIRCLE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_load_from_text[0\nCIRCLE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbCircle\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_get_point_2d_circle PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_get_point_with_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_write_dxf[0\nCIRCLE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbCircle\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_write_dxf[0\nCIRCLE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_default_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_fast_translation PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_non_uniform_scaling PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_user_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[1-0.35-5] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[1-0.1-8] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[0-0.35-0] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[0-0.1-0] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[-1-0.35-5] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[-1-0.1-8] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_load_malformed_circle PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_registered PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_default_init PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_get_start_and_end_vertices_with_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_load_from_text[0\nARC\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n50\n0\n51\n360\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_load_from_text[0\nARC\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbCircle\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n100\nAcDbArc\n50\n0\n51\n360\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_write_dxf[0\nARC\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbCircle\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n100\nAcDbArc\n50\n0\n51\n360\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_write_dxf[0\nARC\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n50\n0\n51\n360\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_angles PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_default_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening[1-0-180-0.1-5] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening[0-0-360-0.1-0] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening[-1-0-180-0.35-3] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening[1-270-90-0.1-5] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_3d_flattening_parallel_to_xy_plane PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_3d_flattening PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening_returns_Vec3 PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_360_deg_arc_transformation PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[x-30] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[x-180] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[x-360] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[y-30] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[y-180] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[y-360] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[z-30] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[z-180] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[z-360] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_load_malformed_circle PASSED [ 13%] tests/test_02_dxf_graphics/test_204_shape.py::test_registered PASSED [ 13%] tests/test_02_dxf_graphics/test_204_shape.py::test_default_init PASSED [ 13%] tests/test_02_dxf_graphics/test_204_shape.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_204_shape.py::test_load_from_text[0\nSHAPE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n2\nNAME\n50\n0.0\n41\n1.0\n51\n0.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_204_shape.py::test_load_from_text[0\nSHAPE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbShape\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n2\nNAME\n50\n0.0\n41\n1.0\n51\n0.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_204_shape.py::test_write_dxf[0\nSHAPE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbShape\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n2\nNAME\n50\n0.0\n41\n1.0\n51\n0.0\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_204_shape.py::test_write_dxf[0\nSHAPE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n2\nNAME\n50\n0.0\n41\n1.0\n51\n0.0\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_204_shape.py::test_load_malformed_shape PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_registered PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_default_init PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_from_text[0\nSOLID\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n13\n0.0\n23\n0.0\n33\n0.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_from_text[0\nSOLID\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbTrace\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n13\n0.0\n23\n0.0\n33\n0.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_write_dxf[0\nSOLID\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbTrace\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n13\n0.0\n23\n0.0\n33\n0.0\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_write_dxf[0\nSOLID\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n13\n0.0\n23\n0.0\n33\n0.0\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_trace PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_3dface PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_translate PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_trace_translate PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_reorder_quad_ocs_vertices PASSED [ 13%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_triangle_ocs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_close_triangle_ocs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_close_quad_ocs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_wcs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_3dface_quad_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_3dface_triangle_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_elevation_group_code_support PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_do_not_write_elevation_group_code PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_malformed_solid[SOLID] PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_malformed_solid[TRACE] PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_malformed_solid[3DFACE] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_registered PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_default_init PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_default_new PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_load_from_text[0\nTEXT\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nTEXTCONTENT\n50\n0.0\n51\n0.0\n7\nStandard\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n73\n0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_load_from_text[0\nTEXT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nTEXTCONTENT\n50\n0.0\n51\n0.0\n7\nStandard\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n100\nAcDbText\n73\n0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_write_dxf[0\nTEXT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nTEXTCONTENT\n50\n0.0\n51\n0.0\n7\nStandard\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n100\nAcDbText\n73\n0\n-AC1015] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_write_dxf[0\nTEXT\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nTEXTCONTENT\n50\n0.0\n51\n0.0\n7\nStandard\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n73\n0\n-AC1009] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[test\ntext\r] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[test\r\ntext] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[testtext^] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[test\ntext^] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[test\ntext^\r] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_set_alignment PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_set_fit_alignment PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_reset_fit_alignment PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_resetting_location_raises_value_error_for_missing_point PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_get_align_enum PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_get_pos_enum_TOP_CENTER PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_get_pos_LEFT PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_transform_interface PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_fit_length PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_default_font_name PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_scale_and_reflexion[1-1] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_scale_and_reflexion[-1-1] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_scale_and_reflexion[-1--1] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_scale_and_reflexion[1--1] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_non_uniform_scaling PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_is_backward PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_set_backward PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_is_upside_down PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_set_is_upside_down PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_get_pos_handles_missing_align_point PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_malformed_text PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_registered PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_default_init PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_default_new PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_load_from_text[0\nATTDEF\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n3\nPROMPTTEXT\n2\nTAG\n70\n0\n74\n0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_load_from_text[0\nATTDEF\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n100\nAcDbAttributeDefinition\n3\nPROMPTTEXT\n2\nTAG\n70\n0\n73\n0\n74\n0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_write_dxf[0\nATTDEF\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n100\nAcDbAttributeDefinition\n3\nPROMPTTEXT\n2\nTAG\n70\n0\n73\n0\n74\n0\n-AC1015] PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_write_dxf[0\nATTDEF\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n3\nPROMPTTEXT\n2\nTAG\n70\n0\n74\n0\n-AC1009] PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_has_embedded_mtext PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_get_plain_mtext PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_get_virtual_mtext_entity PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_attdef_graphic_attributes PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_mtext_graphic_attdefutes_inherited_from_host PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_mtext_entity_attributes PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_dxf_export_matches_test_data PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_lock_position_and_ignore_version_tag PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_lock_position_without_version_tag PASSED [ 14%] tests/test_02_dxf_graphics/test_207_attdef.py::test_version_without_lock_position PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_registered PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_default_init PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_default_new PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_load_from_text[0\nATTRIB\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n71\n0\n2\nTAG\n70\n0\n74\n0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_load_from_text[0\nATTRIB\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n71\n0\n100\nAcDbAttribute\n2\nTAG\n70\n0\n73\n0\n74\n0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_write_dxf[0\nATTRIB\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n71\n0\n100\nAcDbAttribute\n2\nTAG\n70\n0\n73\n0\n74\n0\n-AC1015] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_write_dxf[0\nATTRIB\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n71\n0\n2\nTAG\n70\n0\n74\n0\n-AC1009] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[test\ntext\r] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[test\r\ntext] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[testtext^] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[test\ntext^] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[test\ntext^\r] PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_has_embedded_mtext PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_get_plain_mtext PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_get_virtual_mtext_entity PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_attrib_graphic_attributes PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_mtext_graphic_attributes_inherited_from_host PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_mtext_entity_attributes PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_dxf_export_matches_test_data PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_set_mtext PASSED [ 14%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_transformation_of_embedded_mtext PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMText::test_special_namespace PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMText::test_setup PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMText::test_set_mtext_attribute PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMText::test_set_invalid_mtext_attribute PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_lock_position_and_ignore_version_tag PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_lock_position_without_version_tag PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_version_without_lock_position PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_registered PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_default_init PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_default_new PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_load_from_text[0\nVERTEX\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_load_from_text[0\nVERTEX\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbVertex\n100\nAcDb2dVertex\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_write_dxf[0\nVERTEX\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbVertex\n100\nAcDb2dVertex\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n-AC1015] PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_write_dxf[0\nVERTEX\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n-AC1009] PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_load_malformed_vertex PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_registered PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_default_constructor PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_default_new PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_load_from_text[0\nPOLYLINE\n5\n0\n8\n0\n66\n1\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_load_from_text[0\nPOLYLINE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDb2dPolyline\n66\n1\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_polyline_3d PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_poly_face_mesh PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_polygon_mesh PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_copy_polyline PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_write_dxf[0\nPOLYLINE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDb2dPolyline\n66\n1\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n-AC1015] PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_write_dxf[0\nPOLYLINE\n5\n0\n8\n0\n66\n1\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n-AC1009] PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_polyline2d_transform_interface PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_polyline3d_transform_interface PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_2d_polyline_has_default_width PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_2d_polyline_has_any_start_width PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_2d_polyline_has_any_end_width PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_2d_polyline_has_any_arc PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_malformed_polyline PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_create_polyline2D PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_create_polyline3D PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_add_new_sub_entities_to_entity_database PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_export_sub_entities_to_dxf PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_vertex_layer PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_change_polyline_layer PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_set_vertex PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_points PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_point_slicing PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_append_vertices PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_insert_vertices PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_delete_one_vertex PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_delete_two_vertices PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_correct_casting PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_set_vertex PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_error_n_index PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_error_m_index PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_mesh_cache PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_correct_casting PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_create_face PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_add_face PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_face_indices PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_add_two_face_indices PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_faces PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_optimized_cube PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_export_polyline2d PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_export_polyline3d PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_internals_polymesh PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_internals_polyface PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_new_style_polyface_face_count PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_add_virtual_polyline_to_layout PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline2d_virtual_entities PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_virtual_sub_entities_source_tracking PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline2d_elevation PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline2d_closed PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline2d_explode PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline3d_virtual_entities PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline3d_closed PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline3d_explode PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polymesh_virtual_entities PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_closed_polymesh PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyface_virtual_entities PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertext_attribs_xy PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertext_attribs_xyb PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertext_attribs_xyseb PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertext_attribs_vseb PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_append_formatted_vertices PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertex_format PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_registered PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_default_init PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_default_new PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_load_from_text[0\nVIEWPORT\n5\n0\n8\nVIEWPORTS\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n41\n1.0\n68\n1\n1001\nACAD\n1000\nMVIEW\n1002\n{\n1070\n16\n1010\n0.0\n1020\n0.0\n1030\n0.0\n1010\n0.0\n1020\n0.0\n1030\n0.0\n1040\n0.0\n1040\n1.0\n1040\n0.0\n1040\n0.0\n1040\n50.0\n1040\n0.0\n1040\n0.0\n1070\n0\n1070\n100\n1070\n1\n1070\n3\n1070\n0\n1070\n0\n1070\n0\n1070\n0\n1040\n0.0\n1040\n0.0\n1040\n0.0\n1040\n0.1\n1040\n0.1\n1040\n0.1\n1040\n0.1\n1070\n0\n1002\n{\n1002\n}\n1002\n}\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_load_from_text[0\nVIEWPORT\n5\n0\n330\n0\n100\nAcDbEntity\n67\n1\n8\nVIEWPORTS\n100\nAcDbViewport\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n41\n1.0\n68\n2\n69\n2\n12\n0.0\n22\n0.0\n13\n0.0\n23\n0.0\n14\n0.1\n24\n0.1\n15\n0.1\n25\n0.1\n16\n0.0\n26\n0.0\n36\n0.0\n17\n0.0\n27\n0.0\n37\n0.0\n42\n50.0\n43\n0.0\n44\n0.0\n45\n1.0\n50\n0.0\n51\n0.0\n72\n100\n90\n32864\n1\n\n281\n0\n71\n0\n74\n0\n110\n0.0\n120\n0.0\n130\n0.0\n111\n1.0\n121\n0.0\n131\n0.0\n112\n0.0\n122\n1.0\n132\n0.0\n79\n0\n146\n0.0\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_write_dxf_r2000 PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_write_dxf_r12 PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_post_load_hook_resolves_frozen_layer_handles_into_names PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_set_and_get__frozen_layer_names PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_freeze_a_specific_layer PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_freezing_a_layer_twice_does_not_duplicate_entry PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_is_a_specific_layer_frozen PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_thaw_a_specific_layer PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_ignore_thawing_non_frozen_layers_silently PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_is_top_view PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_get_scale PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_get_transformation_matrix PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_has_clipping_path PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_clipping_path_corners PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_clipping_rect PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_aspect_ratio PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_invalid_aspect_ratio PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_modelspace_limits PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_modelspace_limits_rotated PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_registered PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_default_constructor PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_new_constructor PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_has_scaling PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_load_from_text[0\nINSERT\n5\n0\n8\n0\n2\nBLOCKNAME\n10\n0.0\n20\n0.0\n30\n0.0\n41\n1.0\n42\n1.0\n43\n1.0\n50\n0.0\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_load_from_text[0\nINSERT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockReference\n2\nBLOCKNAME\n10\n0.0\n20\n0.0\n30\n0.0\n41\n1.0\n42\n1.0\n43\n1.0\n50\n0.0\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_write_dxf[0\nINSERT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockReference\n2\nBLOCKNAME\n10\n0.0\n20\n0.0\n30\n0.0\n41\n1.0\n42\n1.0\n43\n1.0\n50\n0.0\n-AC1015] PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_write_dxf[0\nINSERT\n5\n0\n8\n0\n2\nBLOCKNAME\n10\n0.0\n20\n0.0\n30\n0.0\n41\n1.0\n42\n1.0\n43\n1.0\n50\n0.0\n-AC1009] PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_add_attribs PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_get_block PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_clone_with_insert PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_export_without_sub_entities_to_dxf PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_export_with_sub_entities_to_dxf PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_copy_with_insert PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_no_transform PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_insert PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_insert_and_base_point PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_rotation PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_scaled PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_direction PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_insert_transform_interface PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_insert_scaling PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_add_virtual_insert_with_attribs_to_layout PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::TestSupportsVirtualEntitiesProtocol::test_supports_virtual_entities_protocol PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::TestSupportsVirtualEntitiesProtocol::test_query_virtual_entities PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_load_malformed_insert PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::test_mcount_property PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_minsert_normal_spacing PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_discard_minsert_attribs_from_virtual_insert PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_minsert_zero_column_spacing PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_minsert_zero_row_spacing PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_explode PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestInsertAttributes::test_attribs_transformation PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestInsertAttributes::test_explode PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestRotatedInsert::test_minsert_transformation PASSED [ 16%] tests/test_02_dxf_graphics/test_213_minsert.py::TestRotatedInsert::test_attribs_transformation PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_registered PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_default_init PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_default_new PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_load_from_text[0\nBLOCK\n5\n0\n8\n0\n2\nBLOCKNAME\n70\n0\n10\n0.0\n20\n0.0\n30\n0.0\n3\nBLOCKNAME\n1\n\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_load_from_text[0\nBLOCK\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockBegin\n2\nBLOCKNAME\n70\n0\n10\n0.0\n20\n0.0\n30\n0.0\n3\nBLOCKNAME\n1\n\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_write_block_dxf[0\nBLOCK\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockBegin\n2\nBLOCKNAME\n70\n0\n10\n0.0\n20\n0.0\n30\n0.0\n3\nBLOCKNAME\n1\n\n-AC1015] PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_write_block_dxf[0\nBLOCK\n5\n0\n8\n0\n2\nBLOCKNAME\n70\n0\n10\n0.0\n20\n0.0\n30\n0.0\n3\nBLOCKNAME\n1\n\n-AC1009] PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_write_endblk_dxf[0\nENDBLK\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockEnd\n-AC1015] PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_write_endblk_dxf[ 0\nENDBLK\n 5\n0\n 8\n0\n-AC1009] PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_load_malformed_block PASSED [ 16%] tests/test_02_dxf_graphics/test_214_block.py::test_load_malformed_endblk PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_registered PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_default_init PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_default_new PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_load_from_text[0\nDIMENSION\n5\n0\n8\n0\n2\n*D0\n3\nStandard\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n70\n0\n1\n\n13\n0.0\n23\n0.0\n33\n0.0\n14\n0.0\n24\n0.0\n34\n0.0\n15\n0.0\n25\n0.0\n35\n0.0\n16\n0.0\n26\n0.0\n36\n0.0\n40\n1.0\n50\n0.0\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_load_from_text[ 0\nDIMENSION\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbDimension\n2\n*D0\n3\nStandard\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n70\n32\n71\n5\n42\n0.0\n100\nAcDbAlignedDimension\n 13\n0.0\n 23\n0.0\n 33\n0.0\n 14\n0.0\n 24\n0.0\n 34\n0.0\n50\n0\n100\nAcDbRotatedDimension\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_write_dxf[ 0\nDIMENSION\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbDimension\n2\n*D0\n3\nStandard\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n70\n32\n71\n5\n42\n0.0\n100\nAcDbAlignedDimension\n 13\n0.0\n 23\n0.0\n 33\n0.0\n 14\n0.0\n 24\n0.0\n 34\n0.0\n50\n0\n100\nAcDbRotatedDimension\n-AC1015] PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_write_dxf[0\nDIMENSION\n5\n0\n8\n0\n2\n*D0\n3\nStandard\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n70\n0\n1\n\n13\n0.0\n23\n0.0\n33\n0.0\n14\n0.0\n24\n0.0\n34\n0.0\n15\n0.0\n25\n0.0\n35\n0.0\n16\n0.0\n26\n0.0\n36\n0.0\n40\n1.0\n50\n0.0\n-AC1009] PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_missing_block_geometry_name PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_format_text PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_apply_dimpost PASSED [ 16%] tests/test_02_dxf_graphics/test_215_dimension.py::test_apply_dimpost_raises_exception_for_invalid_text_format PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_linear_measurement_without_ocs PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_dimension_transform_interface PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_audit_invalid_dimstyle PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_audit_invalid_geometry_block PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_audit_fake_dimensional_constraints PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_dimstyle_standard_exist PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_dimstyle_override PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_dimstyle_override_arrows PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_dimstyle_override_linetypes PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_horizontal_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_dimstyle_standard_exist PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_rotated_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_aligned_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_angular_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_angular_3p_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_radius_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_diameter_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_ordinate_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_add_horizontal_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_virtual_entities_and_explode PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_transformation_of_associated_anonymous_geometry_block PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_copy_dimension_with_geometry_block PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_destroy_virtual_dimension_copy PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_transform_virtual_geometry_block PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_add_virtual_dimension_copy_to_layout PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_supports_virtual_entities_protocol PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_dimstyle_override PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_linetype_override_R2000 PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_linetype_override_R2007 PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_dimstyle_override_arrows PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_create_polyline2D PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_create_polyline3D PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline3d_vertex_layer PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline3d_change_polyline_layer PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_set_vertex PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_points PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_point_slicing PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_poyline2d_append_vertices PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_insert_vertices PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_delete_one_vertex PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_delete_two_vertices PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_create_mesh PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_set_vertex PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_error_nindex PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_error_mindex PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_mesh_cache PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_create_face PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_add_face PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_face_indices PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_add_two_face_indices PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_faces PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_optimized_cube PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_default_settings PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1018_default_settings PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1018_true_color PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1018_color_name PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1018_transparency PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1021_default_settings PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_line PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_circle PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_arc PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_trace PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_solid PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_3dface PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_text PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_set_alignment PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_set_fit_alignment PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_get_alignment PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_get_pos_TOP_CENTER PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_get_pos_LEFT PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_shape PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_ray PASSED [ 17%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_xline_ray PASSED [ 17%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_registered PASSED [ 17%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_default_init PASSED [ 17%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_default_new PASSED [ 17%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_load_from_text PASSED [ 17%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_write_dxf PASSED [ 17%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_has_const_width PASSED [ 17%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_has_any_start_width PASSED [ 17%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_has_any_end_width PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_has_arc PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_raises_dxf_structure_error_for_missing_AcDbPolyline_subclass PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_new_line PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_get_point PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_slicing PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_set_point PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_get_point_error PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_insert_point PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_del_points PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_append_points PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_context_manager PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_clear PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_delete_const_width PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_vertices PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_format_point PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_point_to_array PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_packed_points_basics PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_packed_points_advanced PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_packed_points_to_dxf_tags PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_packed_points_to_dxf_tags_with_bulge PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_lwpolyline_transform_interface PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_3.py::test_lwpolyline_to_path PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_virtual_entities PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_virtual_sub_entities_source_tracking PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_virtual_entities_elevation PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_closed_polyline PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_explode_entities PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_registered PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_default_init PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_default_new PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_extrusion_can_not_be_a_null_vector PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_major_axis_can_not_be_a_null_vector PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[-2] PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[-1] PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[0] PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[1] PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[2] PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_can_be_negative[-1] PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_can_be_negative[-0.5] PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_can_be_negative[-1e-09] PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_load_from_text PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_get_start_and_end_vertex PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_write_dxf PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_from_arc PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_adding_ellipse_with_too_big_ratio PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_adding_ellipse_with_too_small_ratio PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_adding_ellipse_with_invalid_major_axis PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_audit_max_ratio PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_audit_min_ratio PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_audit_invalid_major_axis PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_malformed_ellipse PASSED [ 18%] tests/test_02_dxf_graphics/test_222_xline.py::test_registered PASSED [ 18%] tests/test_02_dxf_graphics/test_222_xline.py::test_default_init PASSED [ 18%] tests/test_02_dxf_graphics/test_222_xline.py::test_default_new PASSED [ 18%] tests/test_02_dxf_graphics/test_222_xline.py::test_load_from_text PASSED [ 18%] tests/test_02_dxf_graphics/test_222_xline.py::test_write_dxf PASSED [ 18%] tests/test_02_dxf_graphics/test_222_xline.py::test_xline_transform PASSED [ 18%] tests/test_02_dxf_graphics/test_222_xline.py::test_xline_fast_translation PASSED [ 18%] tests/test_02_dxf_graphics/test_223_ray.py::test_registered PASSED [ 18%] tests/test_02_dxf_graphics/test_223_ray.py::test_default_init PASSED [ 18%] tests/test_02_dxf_graphics/test_223_ray.py::test_default_new PASSED [ 18%] tests/test_02_dxf_graphics/test_223_ray.py::test_load_from_text PASSED [ 18%] tests/test_02_dxf_graphics/test_223_ray.py::test_write_dxf PASSED [ 18%] tests/test_02_dxf_graphics/test_224_group.py::test_group_table_is_empty PASSED [ 18%] tests/test_02_dxf_graphics/test_224_group.py::test_create_new_group PASSED [ 18%] tests/test_02_dxf_graphics/test_224_group.py::test_create_unnamed_group PASSED [ 18%] tests/test_02_dxf_graphics/test_224_group.py::test_delete_group_by_entity PASSED [ 18%] tests/test_02_dxf_graphics/test_224_group.py::test_delete_group_by_name PASSED [ 18%] tests/test_02_dxf_graphics/test_224_group.py::test_add_entities PASSED [ 18%] tests/test_02_dxf_graphics/test_224_group.py::test_extend_group PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_registered PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_default_init PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_virtual_text_attribute PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_setup_by_virtual_text_attribute PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_hasattr_for_virtual_text_attribute_is_always_false PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_default_new PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_load_from_text PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_write_dxf PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_expected_python_backslash_decoding PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_required_escaping_of_line_endings_at_dxf_export[test\ntext] PASSED [ 18%] tests/test_02_dxf_graphics/test_225_mtext.py::test_required_escaping_of_line_endings_at_dxf_export[test\r\ntext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_required_escaping_of_line_endings_at_dxf_export[test\ntext\rtext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_new_long_mtext[a new mtext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_new_long_mtext[0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789a new mtext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_new_long_mtext[0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_default_text_chunk_size_of_250_chars PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_text_direction_wins_over_rotation PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_rotation_replaces_text_direction PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_append_text PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_location PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_bg_color PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_bg_true_color PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_delete_bg_color PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_bg_canvas_color PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_text_frame_only PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_transform_interface PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_bg_fill_flags PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_get_text_direction_from_text_direction PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_get_text_direction_from_rotation PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_convert_rotation_to_text_direction PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_get_ucs PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_registered PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_default_init PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_default_new PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_load_from_text PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_write_dxf PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_tangent[start] PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_tangent[end] PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_users_cant_set_invalid_tangents[start] PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_users_cant_set_invalid_tangents[end] PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_ignore_invalid_tangent_values_at_loading_stage PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_knot_values PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_weights PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_control_points PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_fit_points PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_open_uniform PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_uniform PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_closed PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_open_rational PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_uniform_rational PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_closed_rational PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_open_spline PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_open_rational_spline PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_spline_transform_interface PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_from_circle PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_from_arc PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_from_ellipse PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_from_line_with_type_error PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline_with_linear_segments.py::test_flatten_spline PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline_with_linear_segments.py::test_make_path PASSED [ 19%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_mesh_geometric_data PASSED [ 19%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_create_vertex_array PASSED [ 19%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_create_face_list PASSED [ 19%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_create_edge_array PASSED [ 19%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_create_crease_array PASSED [ 19%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_face_indices_as_array PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_registered PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_default_init PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_default_new PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_load_from_text PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_write_dxf PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_mesh_properties PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_mesh_dxf_attribs PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_mesh_geometric_data PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_create_empty_mesh PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_add_faces PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_add_edge_crease PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_dxf_export_adds_required_crease_values PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_dxf_export_removes_crease_not_required PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_auditor_fixes_invalid_crease_count PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_vertex_format PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_optimize PASSED [ 19%] tests/test_02_dxf_graphics/test_228_mesh.py::test_mesh_transform_interface PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_if_registered PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_default_init PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_default_new PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_load_from_text PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_seeds PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_write_dxf PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_write_correct_polyline_path_tag_order PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_hatch_boundary_state PASSED [ 19%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_hatch_boundary_default_state PASSED [ 19%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_default_settings PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_default_hatch_settings PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_get_seed_points PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_set_seed_points PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_remove_all_paths PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_polyline_path_attribs PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_polyline_path_vertices PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_edge_path_count PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_edge_path_type PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_edge_path_edges PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_spline_edge_hatch_get_params PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_spline_edge PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_required_tangents_for_spline_edge_if_fit_points_present PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_no_fit_points_export PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_is_pattern_hatch PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_edit_pattern PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_new_pattern_hatch PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_pattern_scale PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_pattern_scale_x_times PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_pattern_rotation PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_pattern_rotation_add_angle PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_gradient PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_gradient_low_level_dxf_tags PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_remove_gradient_data PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_remove_gradient_low_level_dxf_tags PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_bgcolor_not_exists PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_set_new_bgcolor PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_change_bgcolor PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_delete_bgcolor PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_delete_not_existing_bgcolor PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_associate_valid_entity PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_if_hatch_is_alive_before_association PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_can_not_associate_entity_from_different_document PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_can_not_associate_entity_with_different_owner PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_can_not_associate_destroyed_entity PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_triangulate_hatch PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_triangulate_with_elevation PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_render_pattern_lines PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_render_pattern_lines_with_elevation PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_polyline_path_transform_interface PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_edge_path_transform_interface PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_full_circle_ellipse_edge_rotation[arc] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_full_circle_ellipse_edge_rotation[ellipse] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_full_circle_edge_scaling PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-x] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-y] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-xy] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-x] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-y] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-xy] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-x] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-y] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-xy] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-x] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-y] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-xy] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_for_all_edge_types[mirror-x] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_for_all_edge_types[mirror-y] PASSED [ 20%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_for_all_edge_types[mirror-xy] PASSED [ 20%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_registered PASSED [ 20%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_default_init PASSED [ 20%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_default_new PASSED [ 20%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_load_from_text PASSED [ 20%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_image_write_dxf PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_set_raster_variables PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_imagedef_attribs PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_image_dxf_attribs PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_boundary_path PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_reset_boundary_path PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_set_boundary_path PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_post_load_hook_creates_image_def_reactor PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_exception_while_fixing_image_def_reactor PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_post_load_hook_destroys_image_without_valid_image_def PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_new_image_def PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_create_and_delete_image PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_create_and_copy_image PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_moving_to_another_layout PASSED [ 20%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_copying_to_another_layout PASSED [ 20%] tests/test_02_dxf_graphics/test_231_underlay.py::test_registered PASSED [ 20%] tests/test_02_dxf_graphics/test_231_underlay.py::test_default_init PASSED [ 20%] tests/test_02_dxf_graphics/test_231_underlay.py::test_default_new PASSED [ 20%] tests/test_02_dxf_graphics/test_231_underlay.py::test_load_from_text PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_dwf_underlay PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_dgn_underlay PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_pdf_def_properties PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_pdf_def_dxf_attribs PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_pdf_properties PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_pdf_dxf_attribs PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_get_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_reset_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_set_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_set_scale PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_new_pdf_underlay_def PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_new_pdf PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::TestCopyAndTransformUnderlay::test_copied_underlay_has_same_underlay_definition PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::TestCopyAndTransformUnderlay::test_underlay_definition_has_reactor_handles_to_copies PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::TestCopyAndTransformUnderlay::test_transform_underlay PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_body_default_settings PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_body_getting_acis_data PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_region_default_settings PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_region_getting_acis_data PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_3dsolid_default_settings PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_3dsolid_getting_acis_data PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_tag2lines PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_lines2tags PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_registered PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_default_init PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_default_new PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_load_from_text PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_regular_dxf_export_of_empty_acis_entities PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_body_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_region_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_3dsolid_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_surface_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_extruded_surface_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_lofted_surface_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_revolved_surface_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_swept_surface_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_extruded_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_lofted_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_swept_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_revolved_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_body PASSED [ 21%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_region PASSED [ 21%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_3dsolid PASSED [ 21%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_extruded_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_lofted_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_revolved_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_swept_surface PASSED [ 21%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAB::test_copy_body PASSED [ 21%] tests/test_02_dxf_graphics/test_232e_acis_transform.py::test_supports_temporary_transform PASSED [ 21%] tests/test_02_dxf_graphics/test_232e_acis_transform.py::test_add_and_get_transform PASSED [ 21%] tests/test_02_dxf_graphics/test_232e_acis_transform.py::test_apply_temp_transform PASSED [ 21%] tests/test_02_dxf_graphics/test_232e_acis_transform.py::test_transform_and_copy PASSED [ 21%] tests/test_02_dxf_graphics/test_233_helix.py::test_registered PASSED [ 21%] tests/test_02_dxf_graphics/test_233_helix.py::test_default_init PASSED [ 21%] tests/test_02_dxf_graphics/test_233_helix.py::test_default_new PASSED [ 21%] tests/test_02_dxf_graphics/test_233_helix.py::test_load_from_text PASSED [ 21%] tests/test_02_dxf_graphics/test_233_helix.py::test_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_233_helix.py::test_generic_helix PASSED [ 21%] tests/test_02_dxf_graphics/test_234_light.py::test_registered PASSED [ 21%] tests/test_02_dxf_graphics/test_234_light.py::test_default_init PASSED [ 21%] tests/test_02_dxf_graphics/test_234_light.py::test_default_new PASSED [ 21%] tests/test_02_dxf_graphics/test_234_light.py::test_load_from_text PASSED [ 21%] tests/test_02_dxf_graphics/test_234_light.py::test_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_234_light.py::test_add_light PASSED [ 21%] tests/test_02_dxf_graphics/test_235_leader.py::test_registered PASSED [ 21%] tests/test_02_dxf_graphics/test_235_leader.py::test_default_init PASSED [ 21%] tests/test_02_dxf_graphics/test_235_leader.py::test_default_new PASSED [ 21%] tests/test_02_dxf_graphics/test_235_leader.py::test_load_from_text PASSED [ 21%] tests/test_02_dxf_graphics/test_235_leader.py::test_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_235_leader.py::test_add_leader PASSED [ 21%] tests/test_02_dxf_graphics/test_235_leader.py::test_supports_virtual_entities_protocol PASSED [ 21%] tests/test_02_dxf_graphics/test_235_leader.py::test_virtual_sub_entities_source_tracking PASSED [ 21%] tests/test_02_dxf_graphics/test_236_multileader.py::test_new_multileader PASSED [ 21%] tests/test_02_dxf_graphics/test_236_multileader.py::test_synonym_mleader PASSED [ 21%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMLeaderStyle::test_standard_mleader_style PASSED [ 21%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMLeaderStyle::test_audit_fixes_invalid_text_style_handle PASSED [ 21%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMLeaderStyle::test_audit_fixes_invalid_arrow_head_handle PASSED [ 21%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMLeaderStyle::test_audit_fixes_invalid_block_record_handle PASSED [ 21%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeaderLine::test_parse PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeaderLine::test_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeaderLine::test_transform PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeader::test_parse PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeader::test_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeader::test_transform PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeader::test_scaling PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_context_attribs_definition PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_mleader_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_mtext_data_attribs_definition PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_load_mtext_context PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_mtext_data PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_transform_context PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_transform_context_reversed_extrusion PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_transform_mtext_data PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_transform_mtext_extrusion PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_context_attribs_definition PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_mleader_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_block_data_attribs_definition PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_load_block_context PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_block_data PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_get_transformation_matrix PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_set_transformation_matrix PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_transform_block_data PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_transform_block_data_x_reflection PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_transform_block_data_y_reflection PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_transform_block_data_xy_reflection PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_unbounded_mline PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_generic_mline PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_set_justification PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_set_scale_factor PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_close_state PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_point_count_management PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_add_first_vertex PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_add_two_vertices PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_x_rotation PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_translate PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_uniform_scale PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_non_uniform_scale PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_support_virtual_entities_protocol PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_virtual_sub_entities_source_tracking PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_standard_mline_style PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_set_defined_style PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_set_undefined_style PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_ordered_indices PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_invalid_element_count PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineVertex::test_load_tags PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineVertex::test_new PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineVertex::test_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_valid_mline PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_style_name PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_style_handle PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_style_handle_by_name PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_line_direction PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_miter_direction PASSED [ 22%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_line_parameters PASSED [ 22%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_registered PASSED [ 22%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_default_init PASSED [ 22%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_default_new PASSED [ 22%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_load_from_text PASSED [ 22%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_add_tolerance PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::test_load_proxy_graphic PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::test_export_proxy_graphic PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_info PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_supports_virtual_entities_protocol PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_multi_leader_entities PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_image_entities PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_circular_arc_entities PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_can_parse_R2000_lwpolyline PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_can_parse_R2018_lwpolyline PASSED [ 22%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_polygon_creation PASSED [ 22%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_load_arc_dimension PASSED [ 22%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_dimtype_is_8_for_R2018 PASSED [ 22%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_export_proxy_graphic_R2010 PASSED [ 22%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_export_proxy_graphic_R2013 PASSED [ 22%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_export_dimtype_R2013 PASSED [ 22%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_export_dimtype_R2018 PASSED [ 22%] tests/test_02_dxf_graphics/test_241_hyperlink.py::test_set_hyperlink PASSED [ 22%] tests/test_02_dxf_graphics/test_241_hyperlink.py::test_set_description PASSED [ 22%] tests/test_02_dxf_graphics/test_241_hyperlink.py::test_set_location PASSED [ 22%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[2-2-2] PASSED [ 22%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[-1-1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[1--1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[1-1--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[-2--2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[2--2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[-2-2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[-3--3--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[2-2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[-1-1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[1--1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[1-1--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[-2--2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[2--2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[-2-2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[-3--3--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-2-2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--1-1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-1--1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-1-1--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--2--2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-2--2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--2-2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--3--3--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--1-2-3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-1--2-3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-1-2--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--3--2-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-3--2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--3-2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--3--2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-2-2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--1-1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1--1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1-1--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--2--2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-2--2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--2-2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--3--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--1-2-3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1--2-3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1-2--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--2-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-3--2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3-2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-2-2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--1-1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1--1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1-1--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--2--2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-2--2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--2-2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--3--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--1-2-3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1--2-3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1-2--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--2-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-3--2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3-2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[2-2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-1-1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[1--1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[1-1--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-2--2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[2--2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-2-2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-3--3--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-1-2-3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[1--2-3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[1-2--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-3--2-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[3--2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-3-2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-3--2--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[1.1-1.1-1.1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[-1.1--1.1--1.1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[-1.1-1.1-1.1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[1.1--1.1-1.1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[1.1-1.1--1.1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[-1.1--1.1-1.1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[1.1--1.1--1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[-1.1-1.1--1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_add_entity PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_entity PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_entity_without_layout PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_convert_circle_to_ellipse PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_circle_by_ellipse PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_convert_circle_to_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_circle_by_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_convert_ellipse_to_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_ellipse_by_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_244_large_radial_dimension.py::test_load_dimension PASSED [ 24%] tests/test_02_dxf_graphics/test_244_large_radial_dimension.py::test_export_dimension PASSED [ 24%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_wipeout_default_new PASSED [ 24%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_wipeout_write_dxf PASSED [ 24%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_wipeout_creator_interface PASSED [ 24%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_copy_wipeout PASSED [ 24%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_wipeout_vars PASSED [ 24%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_boundary_path_wcs PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[0-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[1-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[3-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[4-4] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[5-5] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[0-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[1-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[3-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[4-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[5-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[0-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[1-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[3-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[4-4] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_any_points_present PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_degree_of_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_if_fit_point_count_is_valid[1] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_if_fit_point_count_is_valid[2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_if_fit_point_count_is_valid[3] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_if_fit_point_count_is_valid[4] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_remove_unused_knot_values PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_remove_unused_weights PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_control_point_count[1] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_control_point_count[2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_control_point_count[3] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_control_point_count[4] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_knot_value_count[1] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_knot_value_count[2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_knot_value_count[3] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_knot_value_count[4] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_weight_count[1] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_weight_count[2] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_weight_count[3] PASSED [ 24%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_weight_count[4] PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_mtext_attribs_from_embedded_object[DYN_MANUAL] PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_mtext_attribs_from_embedded_object[DYN_AUTO] PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_mtext_attribs_from_embedded_object[STATIC] PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_dynamic_cols_manual_height PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_dynamic_cols_with_auto_height PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_static_cols PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_export_static_columns_as_embedded_object PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_export_dynamic_columns_auto_height_as_embedded_object PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_export_dynamic_columns_manual_height_as_embedded_object PASSED [ 24%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_create_new_mtext_with_columns PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_if_registered PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_default_init PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_default_new PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_fill_properties_without_solid_filling PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_fill_properties_with_solid_filling PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_load_from_text PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_no_fill PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_r2004_no_fill_requires_basic_gradient_data PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_with_fill PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_R2004_with_fill PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_correct_polyline_path_tag_order PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_with_pattern_fill PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_do_not_export_mpolygon_with_edge_paths PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_load_dynamic_cols_manual_height PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_load_dynamic_cols_with_auto_height PASSED [ 24%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_load_static_cols PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_mtext_without_column_info PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_set_columns_xdata[STATIC] PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_set_columns_xdata[DYNAMIC_AUTO] PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_set_columns_xdata[DYNAMIC_MANUAL] PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_create_new_mtext_with_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_destroy_mtext_with_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_add_mtext_with_linked_columns_to_entitydb PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_add_mtext_with_linked_columns_to_msp PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_delete_mtext_with_linked_columns_from_entitydb PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_discard_mtext_with_linked_columns_from_entitydb PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_destroy_mtext_with_linked_columns_from_entitydb PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_copy_mtext_with_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_transform_mtext_with_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_scale_mtext_with_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_sync_common_attribs_of_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_remove_dependencies_from_mtext_and_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestPreprocessDXFExport::test_successful_preprocessing PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestPreprocessDXFExport::test_accept_invalid_column_count PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestPreprocessDXFExport::test_fail_for_destroyed_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestGetColumnContent::test_get_raw_content_of_all_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestGetColumnContent::test_get_plain_text_of_all_columns_as_string PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestGetColumnContent::test_get_plain_text_of_all_columns_as_list_of_strings PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_add_polyline_path PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_add_edge_path PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_polyline_path_with_arcs_to_edge_path PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_arc_to_ellipse_edges PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_ellipse_edges_to_spline_edges PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_edge_to_polyline_paths PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::TestValidatingBoundaryPaths::test_spline_edge_has_valid_knot_count PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::TestValidatingBoundaryPaths::test_spline_edge_has_enough_control_points PASSED [ 25%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::TestValidatingBoundaryPaths::test_spline_edge_has_enough_fir_points PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_returns_one_path PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_path_has_six_entities PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_expected_entity_types PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_arc_0_parameters PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_ellipse_1_parameters PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_line_parameters PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_ellipse_3_parameters PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_arc_4_parameters PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_spline_parameters PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_spline_control_points PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_spline_knots PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_wcs_line PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_wcs_spline PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_ocs_clockwise_arc PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_ocs_counter_clockwise_arc PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_wcs_clockwise_ellipse PASSED [ 25%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_wcs_counter_clockwise_ellipse PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[0.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[30.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[60.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[90.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[180.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[270.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-30.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-60.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-90.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-180.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-270.0] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_safety_checks PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_circle_dxf_attributes PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_circle_geometry PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_arc_dxf_attributes PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_arc_geometry PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_quadrilaterals[Solid] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_quadrilaterals[Trace] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_ellipse PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_polyline[lwpolyline] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_polyline[polyline2d] PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_hatch_with_polyline_path PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_hatch_with_edge_path PASSED [ 25%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_insert PASSED [ 25%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_load_acad_proxy_entity PASSED [ 25%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_export_exact_original_data PASSED [ 25%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_virtual_entities_support PASSED [ 25%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_virtual_sub_entities_source_tracking PASSED [ 25%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_virtual_entities_if_no_proxy_graphic_exists PASSED [ 25%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_supports_virtual_entities_protocol PASSED [ 25%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_proxy_entity_is_not_transformable PASSED [ 25%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_proxy_graphic_is_not_copyable PASSED [ 25%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_sublass_is_loaded PASSED [ 25%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_dxf_type PASSED [ 26%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_bounding_box PASSED [ 26%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_export_exact_original_data PASSED [ 26%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_binary_data PASSED [ 26%] tests/test_02_dxf_graphics/test_254_get_font_name.py::test_get_font_name_for_entity_without_font_support PASSED [ 26%] tests/test_02_dxf_graphics/test_254_get_font_name.py::test_get_font_name_for_text PASSED [ 26%] tests/test_02_dxf_graphics/test_254_get_font_name.py::test_undefined_text_style PASSED [ 26%] tests/test_02_dxf_graphics/test_254_get_font_name.py::test_get_font_name_for_mtext PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_default_properties PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_set_units PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_delete_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_delete_all_entities PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_paper_space PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_iter_layout PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_query_entities PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_model_space_get_layout_for_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_paper_space_get_layout_for_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_default_entity_settings PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_clone_dxfattribs PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_invalid_layer_name PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_create_layout PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_get_modelspace PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_layout_returns_first_layout_in_tab_order PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_paperspace_returns_active_paperspace_by_default PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_paperspace_returns_paperspace_by_name PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_paperspace_raises_key_error_if_not_exists PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_paperspace_raises_key_error_for_modelspace PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_delete_polyline3d PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_unlink_unsupported_graphic_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_delete_unsupported_graphic_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_cannot_add_invalid_dxf_objects PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_line PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_point PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_circle PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_arc PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_trace PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_solid PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_3dface PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_text PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_shape PASSED [ 26%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_post_bind_hook_call PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_create_blockref PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_attrib_get_flags PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_attrib_set_flags PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_add_new_attribs PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_add_to_attribs PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_place PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_lockref_grid PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_attribs_follow_abuse PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_not_existing_attrib PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_not_existing_attrib_without_exception PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_last_attrib PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_one_of_many_attribs PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_first_of_many_attribs PASSED [ 26%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_all_attribs PASSED [ 26%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_auto_blockref PASSED [ 26%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_blockref_with_attribs PASSED [ 26%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_has_attdef PASSED [ 26%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_get_attdef PASSED [ 26%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_get_attdef_text PASSED [ 26%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_attdef_getter_properties PASSED [ 26%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_attdef_setter_properties PASSED [ 26%] tests/test_03_dxf_layouts/test_304_new_entity_space.py::test_init PASSED [ 26%] tests/test_03_dxf_layouts/test_304_new_entity_space.py::test_existence PASSED [ 26%] tests/test_03_dxf_layouts/test_304_new_entity_space.py::test_remove PASSED [ 26%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_copy_simple_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_copy_polyline_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_move_simple_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_move_polyline_to_paperspace PASSED [ 26%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_move_polyline_to_block PASSED [ 26%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_move_from_block_to_block PASSED [ 26%] tests/test_03_dxf_layouts/test_306_copy_linked_entities.py::test_duplicate_simple_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_306_copy_linked_entities.py::test_duplicate_polyline_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_306_copy_linked_entities.py::test_duplicate_insert_with_attribs_entity PASSED [ 26%] tests/test_03_dxf_layouts/test_307_groupby.py::test_groupby_dxfattrib PASSED [ 26%] tests/test_03_dxf_layouts/test_307_groupby.py::test_groupby_not_existing_dxfattrib PASSED [ 26%] tests/test_03_dxf_layouts/test_307_groupby.py::test_groupby_key PASSED [ 26%] tests/test_03_dxf_layouts/test_307_groupby.py::test_groupby_result PASSED [ 26%] tests/test_03_dxf_layouts/test_307_groupby.py::test_calling_convention PASSED [ 26%] tests/test_03_dxf_layouts/test_308_query.py::TestNameQuery::test_all_names PASSED [ 26%] tests/test_03_dxf_layouts/test_308_query.py::TestNameQuery::test_some_names PASSED [ 26%] tests/test_03_dxf_layouts/test_308_query.py::TestNameQuery::test_exclude_some_names PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_remove_supports_virtual_entities PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_empty_init PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_select_all PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_first PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_last PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_new_query_select_all PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_new_empty_query PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_select_line PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_select_layer_1 PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_select_unicode_layer_name PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_select_layer_1_exclude_line PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_match_regex PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_match_regex_not_text PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_match_whole_string PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_not_supported_attribute PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_bool_select PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_bool_select_2 PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_bool_select_3 PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_bool_select_4 PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_ignore_case PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_ignore_case_for_num_values PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_ignore_case_match_regex PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_extend_query PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_all_names PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_match_one_string PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_match_full_string PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_match_default_values PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_iter_does_not_remove_destroyed_entities PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_purge_does_remove_destroyed_entities PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_select_entities_with_supported_attribute PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_set_item_accepts_only_strings_as_key PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_set_item_set_supported_dxf_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_set_item_ignores_unsupported_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_set_item_does_not_ignore_invalid_attribute_values PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_del_item_ignores_unsupported_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestVirtualAttributes::test_get_virtual_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestVirtualAttributes::test_set_virtual_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestVirtualAttributes::test_cannot_delete_virtual_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_no_selected_dxf_attribute_raises_type_error PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_is_equal_operator PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_is_not_equal_operator PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_query_is_case_insensitive_by_default PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_less_than_operator PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_less_than_raises_type_error_for_vector_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_greater_than_operator PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_greater_than_raises_type_error_for_vector_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_less_equal_operator PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_less_equal_raises_type_error_for_vector_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_greater_equal_operator PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_greater_equal_raises_type_error_for_vector_attributes PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_filter_operator PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestRegexMatch::test_match_nothing PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestRegexMatch::test_match_is_case_insensitive PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestRegexMatch::test_match_case_insensitive PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestRegexMatch::test_match_invalid_attributes_raise_type_error PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_union PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_union_unique_entities PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_difference PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_intersection PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_symmetric_difference PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_operator_combination PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_select_layers PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_set_layer_attribute PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_delete_layer_attribute PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_color_descriptor_exists PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_linetype_descriptor_exists PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_lineweight_descriptor_exists PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_ltscale_descriptor_exists PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_invisible_descriptor_exists PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_true_color_descriptor_exists PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_transparency_descriptor_exists PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_without_wildcards PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_two_entity_names PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_star_wildcard PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_wrong_star_wildcard PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_star_wildcard_2 PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_star_wildcard_3 PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_star_wildcard_4 PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_empty_attribute_list_not_allowed PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_one_attribute PASSED [ 27%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_double_quoted_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_single_quoted_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_attribute_name_with_underscore PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_star_with_one_attribute PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_lt PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_le PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_eq PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_ne PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_ge PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_gt PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_regex_match PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_not_regex_match PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_appended_ignore_case_option PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_not_operation PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_and_operation PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_or_operation PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_not_operation_with_brackets PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_operation_with_brackets PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_operation_with_nested_brackets PASSED [ 28%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_01_copy_foreign_entities_reset_resources PASSED [ 28%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_02_copy_foreign_entities_with_resources PASSED [ 28%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_03_move_foreign_entities PASSED [ 28%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_04_move_foreign_entities_with_resources PASSED [ 28%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_05_copy_polyline_reset_resources PASSED [ 28%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_06_move_polyline PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_add_simple_entities PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_entities_have_no_handle PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_removing_entiy_does_not_destroy_entity PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_purge_destroyed_entities PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_can_add_entity_to_a_real_layout PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_copy_all_entities_to_a_real_layout PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_move_all_entities_to_a_real_layout PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_copy_all_sub_entities_to_a_real_layout PASSED [ 28%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_move_all_sub_entities_to_a_real_layout PASSED [ 28%] tests/test_03_dxf_layouts/test_313_redraw_order.py::test_set_redraw_order PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_new_drawing PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_valid_header PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_invalid_header_structure PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_invalid_header_var_name PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get_acadver PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get_insbase PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_getitem_keyerror PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_set_existing_var PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_set_existing_point PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_set_unknown_var PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_create_var PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_create_var_wrong_args_2d PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_create_var_wrong_args_3d PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_contains PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_not_contains PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_remove_headervar PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_str_point PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_new_dxf12 PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_custom_properties_exists PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_order_of_occurrence PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get_custom_property PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get_custom_property_2 PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_add_custom_property PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_remove_custom_property PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_remove_not_existing_property PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_replace_custom_property PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_replace_not_existing_property PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_header_vars[$ACADMAINTVER-AC1032-90] PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_header_vars[$ACADMAINTVER-AC1027-70] PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_header_vars[$XCLIPFRAME-AC1021-290] PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_header_vars[$XCLIPFRAME-AC1024-280] PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_group_code_raises_key_error_for_unknown_names PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_402_classessection.py::test_write PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_402_classessection.py::test_empty_section PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_402_classessection.py::test_count_class_instances PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_get_value PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_set_value PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_del_value PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_delete_entity PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_delete_dead_entity_entity PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_keys PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_values PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_items PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_get PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_add_tags PASSED [ 28%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_len PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_restore_integrity_purge PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_restore_integrity_recover PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_restore_integrity_remove_invalid_None PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_restore_integrity_remove_invalid_handle PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_add_entity_multiple_times PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_discard_contained_entity PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_discard_entity_with_none_handle PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_discard_entity_with_handle_not_in_database PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_trashcan_context_manager PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_reset_entity_handle PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_can_not_reset_entity_handle PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_query_method_exist PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_constructor PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_getattr_upper_case PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_error_getattr PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_entry_by_handle PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_non_existing_entry_by_handle PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_handle_of_entry PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_handle_of_non_existing_entry PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_entry_by_handle_is_type_safe PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLayerTableEntry::test_add_layer PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLayerTableEntry::test_check_invalid_aci_color PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLayerTableEntry::test_check_invalid_line_weight PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLayerTableEntry::test_add_new_line_type PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_add_new_ttf_font_text_style PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_add_new_shape_file PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_add_multiple_shape_files PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_get_shape_file PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_find_shape_file PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_if_shape_file_entry_exist PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_discard_shape_files PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_discard_not_existing_shape_file PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_export_multiple_shape_file_entries PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLineTypeTable::test_add_new_line_type PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_len PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_iter PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_is_unique_name PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_contains PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_contains_is_case_insensitive PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_getitem PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_getitem_is_case_insensitive PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_get PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_get_is_case_insensitive PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestCreateNewEntry::test_new_entry_is_an_object PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestCreateNewEntry::test_new_entry_is_added_to_collection PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestCreateNewEntry::test_cannot_use_existing_name PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestCreateNewEntry::test_invalid_char_in_name_raises_exception PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDeleteEntry::test_delete_entry_remove_entry PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDeleteEntry::test_delete_non_existing_entry_does_not_raise_exception PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_duplicate_existing_entry PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_duplicate_non_existing_entry_raises_exception PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_new_entry_replaces_existing_entry PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_duplicated_entries_have_same_content PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_duplicated_entry_is_stored_in_objects_section PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_invalid_char_in_new_name_raises_exception PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::test_clear PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_init PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_add_known_class PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_add_required_classes PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_double_keys PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_export_dxf PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_load_section PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_empty_section PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_key PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_is_layout_block PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_overwrite_existing_block PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_not_in_blocks_section PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_getitem PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_new_block_layout PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_case_insensitivity PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_iter_blocks PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_block_content_entity_drawing_attribute PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_delete_block PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_safe_delete_block PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_do_not_delete_layouts_and_special_arrow_blocks PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_rename_block PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_dxf2000_dxf_block_structure PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_dxf2000_delete_block PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_dxf2000_delete_all_blocks PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_dxf2000_rename_block PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_update_block_flags PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_407_entity_section.py::test_iterate_entities_section PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::test_load_section PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_auditor_removes_invalid_entities PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_audit_restores_deleted_owner_tag PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_validate_known_dictionaries PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_remove_orphaned_dictionary_and_owned_entries PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_remove_orphaned_dictionary_but_preserve_shared_entries PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_409_create_objects.py::test_setup_rootdict PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_409_create_objects.py::test_add_new_sub_dict PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_409_create_objects.py::test_required_tables_exists PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_409_create_objects.py::test_new_plot_style_name_table PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_table_entry_dxf_type PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_ac1009_load_table PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_load_table_with_invalid_table_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_ac1009_write PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_ac1024_load_table PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_ac1024_write PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_get_table_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_entry_names_are_case_insensitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_duplicate_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_create_vport_table PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_loader PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_default_section_does_not_have_records PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_loaded_section_does_not_have_records PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_acds_record PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_write_dxf PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_empty_acds_section_will_not_be_exported PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_get_acis_data PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_del_acis_data PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_reset_acis_data PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_set_new_acis_data PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_create_explicit_a_new_acis_data PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_write_dxf_for_new_created_acis_record PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_412_rename_layer.py::test_rename_layer PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_412_rename_layer.py::test_rename_layer_errors PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_new_group PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_unique_groups PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_modify_group PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_can_not_add_invalid_block_entities PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_can_not_add_invalid_table_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_audit_filters_invalid_entities PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_virtual_entities_owner_and_handle PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_virtual_entities_source_block_reference PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_copying_entities_from_block_reference_removes_source_context PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_virtual_entities_transformation PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_explode_blockrefs PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_explode_polyline_bulge PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_explode_blockref_with_attrib PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_examine_uniform_scaled_ellipse PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_skipped_entities_callback PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[1-False] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[0.5-False] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[1-True] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[0.5-True] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[-1-False] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[-1-True] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_and_stretched_curves[0.5-False] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_and_stretched_curves[0.5-True] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_explode_xref PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestSourceBlockReferenceFromNestedBlockReferences::test_virtual_entities_from_block_ref_0 PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestSourceBlockReferenceFromNestedBlockReferences::test_virtual_entities_from_block_ref_1 PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestSourceBlockReferenceFromNestedBlockReferences::test_virtual_entities_from_block_ref_2 PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestEntitiesInRedrawOrder::test_ascending_redraw_order PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestEntitiesInRedrawOrder::test_descending_redraw_order PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_layout_dict_is_not_hard_owner PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_create_new_layout PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_reserved_model_space_name[Model] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_reserved_model_space_name[MODEL] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_reserved_model_space_name[model] PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_case_insensitive_layout_names PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_create_and_delete_new_layout PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_set_active_layout PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_rename_layout PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_rename_not_existing_layout PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_do_nothing PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_convert_unsupported_entity_to_primitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_multiple_unsupported_entities_to_vertices PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_point_to_primitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_line_to_primitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_lwpolyline_to_primitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_circle_to_primitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_arc_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_ellipse_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_spline_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_mesh_entity_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_3_points[SOLID] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_3_points[TRACE] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_3_points[3DFACE] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_4_points[SOLID] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_4_points[TRACE] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_4_points[3DFACE] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_poly_face_mesh_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_poly_mesh_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_2d_3d_polyline_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_2d_polyline_including_width_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_text_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_mtext_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_mtext_columns_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_hatch_returns_multiple_primitives PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_image_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_to_vertices PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_to_control_vertices PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_level_0 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_0[normal] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_0[reflect-x] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_0[reflect-y] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_0[reflect-z] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_level_1 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_1[normal] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_1[reflect-x] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_1[reflect-y] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_1[reflect-z] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_minsert_level_1 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_count_of_expected_virtual_entities PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_same_source_block_references_blk0 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_same_source_block_references_blk1 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_same_source_block_references_blk2 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_link_structure_of_virtual_block_references PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_extend PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_line PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_empty_cache PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_multi_boxes[multi_flat-entities] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_multi_boxes[multi_flat-blockrefs] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_multi_boxes[multi_recursive-entities] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_multi_boxes[multi_recursive-blockrefs] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_without_handles PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_with_uuids PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_flat_multi_boxes[multi_flat] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_flat_multi_boxes[extents] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_recreation_on_the_fly PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_reused_virtual_entities[multi_flat] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_reused_virtual_entities[extents] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_reused_virtual_entities[multi_recursive] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_with_uuids_for_reused_virtual_entities[multi_flat] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_with_uuids_for_reused_virtual_entities[extents] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_with_uuids_for_reused_virtual_entities[multi_recursive] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_fast_bounding_box_calculation PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_precise_bounding_box_calculation PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_copy_entity_with_extension_dict PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_virtual_copy_with_extension_dict PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_source_of_copy_for_bound_entity PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_is_copy_state PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_origin_of_copy_for_copy_chains PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_source_of_copy_for_virtual_entity PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_420_load_dxf_file.py::test_load_dxf[R12] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_420_load_dxf_file.py::test_load_dxf[R2000] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1009 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1015 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1018 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1021 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1024 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1027 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1032 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_invalid_dxf_version PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_dxfversion_1 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_dxfversion_2 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_acad_release PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_get_layer PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_error_getting_not_existing_layer PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_create_layer PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_error_adding_existing_layer PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_has_layer PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_has_not_layer PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_removing_layer PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_error_removing_not_existing_layer PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_r2000_dxfversion PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_r2000_acad_release PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_header_section PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_layers_table PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_styles_table PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_linetypes_table PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_blocks_section PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_entity_section PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_chain_layout_and_block PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_base64_encoding_r12 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_base64_encoding_r2000 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_set_drawing_units PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_423_read_proe_r2004.py::test_open_proe_ac1018 SKIPPED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_color_index PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_lineweight_too_small PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_lineweight_too_big PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_invalid_lineweight PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_valid_layer_name PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_if_layer_linetype_exist PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_owner PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_text_style[TEXT] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_text_style[MTEXT] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_text_style[ATTRIB] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_text_style[ATTDEF] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_block_cycle_detector_setup PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_block_cycle_detector PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_broken_block_cycle_detector PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_invalid_leader PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_invalid_insert PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_insert_scale PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_remove_invalid_entities_from_blocks PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_remove_standalone_attrib_entities_from_blocks PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_invalid_transparency PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_entities_with_invalid_owner_handle PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_new_doc_extents[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_new_doc_limits[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_modelspace_extents[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_modelspace_limits[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_layout1_extents[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_layout1_limits[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_modelspace_extents[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_modelspace_limits[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_active_msp_vport_config[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_active_layout1_viewport[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_layout1_active_viewport[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_new_doc_extents[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_new_doc_limits[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_modelspace_extents[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_modelspace_limits[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_layout1_extents[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_layout1_limits[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_modelspace_extents[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_modelspace_limits[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_active_msp_vport_config[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_active_layout1_viewport[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_layout1_active_viewport[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_created_by_ezdxf_metadata[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_created_by_ezdxf_metadata[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_written_by_ezdxf_metadata[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_written_by_ezdxf_metadata[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_add_custom_metadata[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_add_custom_metadata[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_non_existing_key_raises_key_error[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_non_existing_key_raises_key_error[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_modify_metadata[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_modify_metadata[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_delete_metadata[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_delete_metadata[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_delete_non_existing_metadata_raises_KeyError[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_delete_non_existing_metadata_raises_KeyError[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_discard_non_existing_metadata_without_exception[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_discard_non_existing_metadata_without_exception[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_write_and_read_metadata[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_write_and_read_metadata[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_key_and_data_is_limited_to_255_chars[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_key_and_data_is_limited_to_255_chars[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_escape_line_endings_in_key_and_data[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_escape_line_endings_in_key_and_data[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_layer PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_layer_raises_exception PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_aci_color PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_aci_color_raises_exception PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_linetype PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_linetype_raises_exception PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_lineweight PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_lineweight_raises_exception PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_linetype_scale PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_linetype_scale_raises_exception PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_textstyle PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_textstyle_raises_exception PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_dimstyle PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_dimstyle_raises_exception PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_empty_string PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_uppercase_letters PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_lowercase_letters PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_digits PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_special_chars PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_asterix_is_allowed_as_first_letter PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_punctuation PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translation_spaces PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_invalid_chars_to_underscores PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_get_same_translations_for_same_names PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_unique_names_for_same_r12_translations PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_names_case_insensitive PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_limit_length_of_long_names PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_long_names PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_new_clipping_path_dxf_structure PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_new_clipping_path_geometry PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invalid_clipping_path_raises_exception[vertices0] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invalid_clipping_path_raises_exception[vertices1] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_rectangular_clipping_path_geometry PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_new_spatial_filter_parmeters PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_enable_clipping_without_path_set PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_toggle_clipping_state PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_discard_clipping_path PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_cleanup_base_entity PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_get_wcs_clipping_path PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_set_wcs_clipping_path PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invert_clip_without_clipping_path PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_cannot_invert_clipping_path_twice PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invert_clipping_path_properties PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invert_clipping_path_dxf_structure PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_msp_1_m PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_msp_easy_usage PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_msp_2_m PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_msp_1_ft PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_msp_2_ft PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_msp_1_in PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_paper_space_scale_1_1 PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_paper_space_scale_1_100 PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_paper_space_default PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_paper_space_to_model_space_metric PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_paper_space_to_model_space_us PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_factor[6-4-1000] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_factor[4-6-0.001] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_factor[6-5-100] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_factor[5-6-0.01] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_factor[5-4-10] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_factor[4-5-0.1] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_type_error[0-6] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_type_error[6-0] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_type_error[0-0] PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_conversion_invalid_units PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_unit_name_valid_input PASSED [ 33%] tests/test_05_tools/test_500_units.py::test_unit_name_invalid_input PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::test_rgb PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::test_from_rgb PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::test_from_aci PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::test_0 PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::test_256 PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::test_luminance PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_from_hex_ PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_from_hex_with_alpha PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_from_floats PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_to_floats PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_to_hex PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_luminance PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_from_hex PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_to_hex PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_from_floats PASSED [ 33%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_to_floats PASSED [ 34%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_luminance PASSED [ 34%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_default_alpha_channel_is_opaque PASSED [ 34%] tests/test_05_tools/test_502_raw_color.py::test_decode_by_block PASSED [ 34%] tests/test_05_tools/test_502_raw_color.py::test_encode_by_block PASSED [ 34%] tests/test_05_tools/test_502_raw_color.py::test_decode_by_layer PASSED [ 34%] tests/test_05_tools/test_502_raw_color.py::test_encode_by_layer PASSED [ 34%] tests/test_05_tools/test_502_raw_color.py::test_decode_aci PASSED [ 34%] tests/test_05_tools/test_502_raw_color.py::test_encode_aci PASSED [ 34%] tests/test_05_tools/test_502_raw_color.py::test_decode_rgb PASSED [ 34%] tests/test_05_tools/test_502_raw_color.py::test_encode_rgb PASSED [ 34%] tests/test_05_tools/test_503_indexing.py::test_item_index PASSED [ 34%] tests/test_05_tools/test_503_indexing.py::test_slicing_ascending_order PASSED [ 34%] tests/test_05_tools/test_503_indexing.py::test_errors PASSED [ 34%] tests/test_05_tools/test_503_indexing.py::test_slicing_descending_order PASSED [ 34%] tests/test_05_tools/test_504_suppress_zeros.py::test_leading_zeros PASSED [ 34%] tests/test_05_tools/test_504_suppress_zeros.py::test_trim_trailing_zeros_for_integers PASSED [ 34%] tests/test_05_tools/test_506_version.py::test_version PASSED [ 34%] tests/test_05_tools/test_508_read_zip.py::test_read_ac1009 PASSED [ 34%] tests/test_05_tools/test_509_comments.py::test_load_only_comments PASSED [ 34%] tests/test_05_tools/test_509_comments.py::test_load_handles_and_comments PASSED [ 34%] tests/test_05_tools/test_509_comments.py::test_load_structure_and_comments PASSED [ 34%] tests/test_05_tools/test_510_byte_stream.py::test_init PASSED [ 34%] tests/test_05_tools/test_510_byte_stream.py::test_read_ps PASSED [ 34%] tests/test_05_tools/test_510_byte_stream.py::test_read_ps_align PASSED [ 34%] tests/test_05_tools/test_510_byte_stream.py::test_read_pus PASSED [ 34%] tests/test_05_tools/test_510_byte_stream.py::test_read_doubles PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_bit PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_bits PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_unsigned_byte PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_signed_byte PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_unsigned_short PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_aligned_unsigned_short PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_unsigned_long PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_aligned_unsigned_long PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_bitshort PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_signed_modular_chars PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_unsigned_modular_chars PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_modular_shorts PASSED [ 34%] tests/test_05_tools/test_511_bit_stream.py::test_read_object_type PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_load_iso_pattern PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_load_scaled_iso_pattern PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_load_imperial_pattern PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_scale_pattern PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_scale_all_pattern PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_parse_pattern_file PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_horizontal_lines[ISO02W100] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_horizontal_lines[DASH] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_horizontal_lines[CLAY] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_horizontal_lines[FLEXIBLE] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_vertical_lines[GOST_WOOD] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_vertical_lines[V_ZINC] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_45_deg_lines[ANSI31] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_45_deg_lines[BRICK_INSULATING] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_45_deg_lines[BUTTERFLY] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_45_deg_lines[CROSSES] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_135_deg_lines[BUTTERFLY] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_135_deg_lines[CROSSES] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_60_deg_lines[DIAMONDS] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_60_deg_lines[ESCHER] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_all_45_deg_lines[ANSI31] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_all_45_deg_lines[BRICK_EXISTING] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_all_solid_lines[ANSI31] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_all_solid_lines[BRICK_EXISTING] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_analyse_ansi31 PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_analyse_checker PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_rotated_checker PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_analyse_crosses PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[0-0] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[45-45_0] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[90-90] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[135-135] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[22-15] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[23-30] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[45-45_1] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[180-0] PASSED [ 34%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[270-90] PASSED [ 34%] tests/test_05_tools/test_513_reorder_entities.py::test_ascending_sort_order PASSED [ 34%] tests/test_05_tools/test_513_reorder_entities.py::test_mapped_ascending_sort_order PASSED [ 34%] tests/test_05_tools/test_513_reorder_entities.py::test_mapping_to_0_ascending_sort_order PASSED [ 34%] tests/test_05_tools/test_513_reorder_entities.py::test_full_mapped_ascending_sort_order PASSED [ 34%] tests/test_05_tools/test_513_reorder_entities.py::test_descending_sort_order PASSED [ 35%] tests/test_05_tools/test_513_reorder_entities.py::test_mapping_to_0_descending_sort_order PASSED [ 35%] tests/test_05_tools/test_513_reorder_entities.py::test_full_mapped_descending_sort_order PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_text_width_and_height PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_shrink_to_fit PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_stretch_to_aligned PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_baseline_vertices_left_aligned PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_baseline_vertices_center_aligned PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_baseline_vertices_right_aligned PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_corner_vertices_baseline_aligned PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_corner_vertices_top_aligned PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_corner_vertices_bottom_aligned PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLine::test_corner_vertices_middle_aligned PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_empty_input PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location0] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location1] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location2] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location3] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location4] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[0] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[1.5707963267948966] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[0.7853981633974483] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[-1.5707963267948966] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[-0.7853981633974483] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[0-2-0] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[1-2-2] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[2-2-4] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[2--1--2] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[2--2--4] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[0-2-0] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[1-2-2] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[2-2-4] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[2--1--2] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[2--2--4] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_oblique PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_plain_text PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_caret_decode PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_dxf_escape_line_endings PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_replace_non_printable PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_plain_mtext_removes_formatting PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_plain_mtext2_removes_formatting PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_remove_commands_without_terminating_semicolon PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_plain_mtext_decoding_special_chars[fast_plain_mtext] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_plain_mtext_decoding_special_chars[plain_mtext] PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_do_not_split_at_caret PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_split_empty_string PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_split_short_string PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_split_long_string PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_split_longer_string PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_text_wrapping PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_virtual_text_entity PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_standard_text_entity PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_stacked_text_entity PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_stacked_mtext_entity PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_raise_type_error_for_unsupported_types PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestMTextContentHasInlineFormattingCodes::test_line_breaks_is_not_an_inline_code PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestMTextContentHasInlineFormattingCodes::test_non_breaking_space_is_not_an_inline_code PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestMTextContentHasInlineFormattingCodes::test_inline_formatting_code PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestMTextContentHasInlineFormattingCodes::test_line_break_and_inline_formatting_code PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[95] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[180] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[265] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[-95] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[-180] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[-265] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[0] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[90] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[270] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[-90] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[-270] PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_flipping_tolerance PASSED [ 35%] tests/test_05_tools/test_514_text.py::test_upright_text_angle PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_empty_text PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_more_empty_text PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_single_line PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_many_lines_no_line_wrapping PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_many_lines_with_line_wrapping PASSED [ 35%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_estimation_safety_factor PASSED [ 35%] tests/test_05_tools/test_515a_fonts_truetype.py::test_sut_font_cache_was_loaded PASSED [ 35%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[LiberationSans-Regular.ttf-Liberation Sans] PASSED [ 35%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[LiberationSerif-Regular.ttf-Liberation Serif] PASSED [ 35%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[LiberationMono-Regular.ttf-Liberation Mono] PASSED [ 35%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[LiberationSansNarrow-Regular.ttf-Liberation Sans Narrow] PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[DejaVuSans.ttf-DejaVu Sans] PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[DejaVuSerif.ttf-DejaVu Serif] PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[DejaVuSansMono.ttf-DejaVu Sans Mono] PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[OpenSans-Regular.ttf-Open Sans] PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[OpenSansCondensed-Light.ttf-Open Sans Condensed] PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[NotoSansSC-Regular.otf-Noto Sans SC] PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_find_font_face_without_definition PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_find_font_face PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_get_font_without_definition PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_get_font_face_with_definition PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_map_shx_to_ttf PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_map_ttf_to_shx PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_get_font_measurement PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_get_font_measurement_for_shx_fonts PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_same_font_faces_have_equal_hash_values PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_font_face_is_italic PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_font_face_is_oblique PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_font_face_is_bold PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_weight_str PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_width_str PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_total_height PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_scale PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_shift PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_scale_from_baseline PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_cap_top PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_x_top PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_bottom PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_space_width PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_text_width PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_text_width_ex PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_text_path PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_text_path_ex PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_space_width PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_text_width PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_text_width_ex PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_text_path PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_text_path_ex PASSED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_find_font_file_by_best_match SKIPPED [ 36%] tests/test_05_tools/test_515a_fonts_truetype.py::test_find_generic_font_family SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_get_font_family_for_shx_files SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_get_font_family_for_shp_files SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_get_font_style_for_shx_files SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_best_match_for_shape_files SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_width_value_influences_the_best_match_for_shape_files SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_space_width SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_text_width SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_text_width_ex SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_text_path SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_text_path_ex SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_get_glyphs SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_get_advance_width SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_get_space_width SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_get_font_measurements SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_path_for_unsupported_glyphs SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_spaces_are_measured SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_spaces_are_not_rendered SKIPPED [ 36%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_resolve_shx_font_name SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::test_get_font_family_for_lff_files SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_is_a_lff_font SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_space_width SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_text_width SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_text_width_ex SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_text_path SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_text_path_ex SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::test_low_level_glyph_cache_measures_spaces SKIPPED [ 36%] tests/test_05_tools/test_515c_fonts_lff.py::test_map_shx_to_lff SKIPPED [ 36%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_center PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_extents PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_extents_factor_2 PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_window PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_objects PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_objects_of_empty_set PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_bbox_of_main_viewport PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_center PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_extents PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_extents_factor_2 PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_window PASSED [ 36%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_objects_of_empty_set PASSED [ 36%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[None-expected0] PASSED [ 36%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[margins1-expected1] PASSED [ 36%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[margins2-expected2] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[margins3-expected3] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[margins4-expected4] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[1-expected0] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[2-expected1] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[3-expected2] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[4-expected3] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[5-expected4] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[6-expected5] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[7-expected6] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[8-expected7] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[9-expected8] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_create_empty_layout_top_left PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_create_empty_layout_middle_center PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_add_one_column_by_reference_width PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_add_two_equal_columns PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_bounding_box_for_not_placed_layout PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_bounding_box_for_placed_layout PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_next_existing_column PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_next_column_creates_a_new_column PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestColumn::test_size_calculation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestColumn::test_render PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_paragraph_available_line_content_space PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_empty_paragraph_dimensions PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_render_empty_paragraph PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_invalid_content PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_common_case_without_nbsp PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_with_nbsp PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_too_long_lines PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_too_long_lines_including_nbsp PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithRestrictedHeight::test_distribute_with_exact_height_match PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithRestrictedHeight::test_distribute_with_one_line_left_over PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithRestrictedHeight::test_distribute_with_all_lines_left_over PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphLeftAlignment::test_without_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphLeftAlignment::test_left_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphLeftAlignment::test_move_tab_to_next_line_if_following_content_does_not_fit PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphLeftAlignment::test_tab_and_text_do_not_fit_into_line PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphAlignment::test_without_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphAlignment::test_right_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphCenterAlignment::test_without_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphCenterAlignment::test_left_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphCenterAlignment::test_right_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphJustifiedAlignment::test_without_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestParagraphJustifiedAlignment::test_with_indentation PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_line_properties PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_bottom_alignment PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_center_alignment PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_top_alignment PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_mixed_alignment PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTextStrokeRendering::test_simple_stroke[1-STROKE(UNDERLINE, 3.0)] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTextStrokeRendering::test_simple_stroke[4-STROKE(OVERLINE, 3.0)] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTextStrokeRendering::test_simple_stroke[2-STROKE(STRIKE_THROUGH, 3.0)] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTextContinueStroke::test_continue_stroke_across_one_space PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTextContinueStroke::test_continue_stroke_across_multiple_spaces PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestTextContinueStroke::test_do_not_continue_stroke_automatically PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestFractionCell::test_a_over_b PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestFractionCell::test_a_over_line_b PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestFractionCell::test_a_slanted_b PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::test_cell_converter PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_no_glue_between_content_raises_value_error[tt] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_no_glue_between_content_raises_value_error[tf] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_no_glue_between_content_raises_value_error[ft] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_no_glue_between_content_raises_value_error[ff] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_ignore_non_breaking_space_between_text_and_fraction[t~f] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_ignore_non_breaking_space_between_text_and_fraction[f~f] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_ignore_non_breaking_space_between_text_and_fraction[f~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_ignore_pending_non_breaking_space PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_nbsp[t~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_nbsp[t~~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_nbsp[t~~~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t~ t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t ~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t~~ t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t ~~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[~~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t#~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t~#t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t~#~t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_spaces[t t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_spaces[t t] PASSED [ 37%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_spaces[t t] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_remove_pending_glue PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_prepending_space[ t] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_prepending_space[ t] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_prepending_space[ t] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_shrink_space PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_default_min_width PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_expand_restricted_space PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_expand_unrestricted_space PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_total_height_is_zero PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_non_breaking_space_to_space PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_can_shrink PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_can_grow PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_rigid_connection PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_create_one_connection[t~t] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_create_one_connection[t~t~t] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_create_two_connections[t~t t~t] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_create_two_connections[t~t~t t~t~t] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_ignore_pending_non_breaking_space PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_setup PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_line_height_is_defined_by_max_content_height PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_line_total_width_is_defined_by_content PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_fill_until_line_is_full PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_left_tab PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_left_tab_without_tab_stops PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_center_tab PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_right_tab PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_shift_tab_stop_left_in_range PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_shift_tab_stops_beyond_left_border PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_shift_tab_stops_beyond_right_border PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_empty_paragraph PASSED [ 38%] tests/test_05_tools/test_518_header_guid.py::test_guid_string_matches_autocad_pattern PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_append_text PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_iadd_text PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_stacked_text_limits_style PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_stacked_text_with_horizontal_divider_line PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_stacked_text_with_slanted_divider_line PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_invalid_divider_char_raises_value_error PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_color_name PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_aci_color PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_aci_color_raises_value_error[-1] PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_aci_color_raises_value_error[257] PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_to_red_by_rgb PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_to_green_by_rgb PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_to_blue_by_rgb PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_font PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_scale_height_factor PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_absolute_text_height PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_width_factor PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_char_tracking_factor PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_change_oblique_angle PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_fluent_interface PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_grouping PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_underline_text PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_overline_text PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_strike_through_text PASSED [ 38%] tests/test_05_tools/test_519_mtext_editor.py::test_bullet_lists PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::test_underline PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::test_strike PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::test_overstrike PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::test_copy PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::test_equality PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::test_set_aci PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_default_properties PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_indent_first_line PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_indent_paragraph_left PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_indent_paragraph_right PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_center_alignment_without_indentation PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_center_alignment_with_indentation PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_one_tab_stop PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_multiple_tab_stops PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_different_kinds_of_tab_stops PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_indentation_and_multiple_tab_stops PASSED [ 38%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_justified_alignment_and_multiple_tab_stops PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_parse_plain_text PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_three_adjacent_spaces PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_non_breaking_space PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_space_and_adjacent_non_breaking_space PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_tabulator_caret_I PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_new_paragraph_caret_J PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_replace_caret_chars_by_space PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_escaped_letters_building_words PASSED [ 38%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_invalid_escaped_letters_printed_verbatim PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_single_new_paragraph_token PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_new_paragraph_token_in_usual_context PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_single_new_column_token PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_grouping_chars_do_not_yield_tokens PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_parser_does_not_check_valid_grouping PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_wrap_at_dimline PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_decode_special_encodings PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_unknown_special_encodings PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_percent_sign_usage PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_simple_horizontal_fraction PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_simple_diagonal_fraction PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_simple_limit_style_fraction PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_without_terminator_parsing_until_end_of_string PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[A] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[I] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[J] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[M] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[Z] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_terminator_char PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_backslash_char PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_stacking_type_char PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_caret_char PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_caret_new_line PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_remove_backslash_escape_char PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_preserve_second_stacking_type_char PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_preserve_second_caret_char PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_parse_without_stacking_type_char PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_next_word_after_stacking PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_next_semi_colon_after_stacking PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_extraction_of_expression[word\\p______;word] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_extraction_of_expression[word\\f______;word] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_extraction_of_expression[word\\F______;word] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_underline_on PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_underline_on_off_for_multiple_words PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_consecutive_tokens_get_the_same_context_objects_if_unchanged PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_underline_on_off_creates_different_context_objects PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_overline_on_off PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_strike_through_on_off PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_stroke_on_off_multiple_times[\\L-\\l-underline] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_stroke_on_off_multiple_times[\\K-\\k-strike_through] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_stroke_on_off_multiple_times[\\O-\\o-overline] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_context_stack_for_grouping PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_bottom_alignment_with_terminator PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_middle_alignment_without_terminator PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_top_alignment_without_terminator PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_alignment_default_value_for_invalid_argument PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_b0_i0 PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_b1_i0 PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_b0_i1 PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_b1_i1 PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_uppercase_command PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_empty_font_command_does_not_change_font_properties PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_empty_font_family_name_does_not_change_font_properties PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H3] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H3;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H+3] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H+3;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H-3] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H-3;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H0.3e1] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H0.3e1;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H30e-1] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H30e-1;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W3x] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W3x;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W+3x] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W+3x;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W-3x] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W-3x;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W0.3e1x] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W0.3e1x;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W30e-1x] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W30e-1x;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\Hx] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\Hx;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H1-2;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.3] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.3;] PASSED [ 39%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.3x] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.3x;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W+3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W+3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W-3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W-3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W0.3e1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W0.3e1;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W30e-1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W30e-1;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T+3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T+3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T-3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T-3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T0.3e1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T0.3e1;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T30e-1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T30e-1;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T3x] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T3x;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T+3x] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T+3x;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T-3x] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T-3x;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T0.3e1x] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T0.3e1x;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T30e-1x] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T30e-1x;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q+3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q+3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q0.3e1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q0.3e1;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q30e-1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q30e-1;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-0.3e1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-0.3e1;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-30e-1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-30e-1;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color[\\C3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color[\\C3;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color[\\C03] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color[\\C03;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color_is_limited_to_256[\\C1000] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color_is_limited_to_256[\\C1000;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color[\\c255] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color[\\c255;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color[\\c0255] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color[\\c0255;] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color_overflow PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i0;-0] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i+1;-1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i1.1;-1.1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i-1;--1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i-1.1;--1.1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l0;-0] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l+1;-1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l1.1;-1.1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l-1;--1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l-1.1;--1.1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r0;-0] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r+1;-1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r1.1;-1.1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r-1;--1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r-1.1;--1.1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[ql;-1] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[qr;-2] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[qc;-3] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[qj;-4] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[qd;-5] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[q?;-0] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_tab_stops PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_combinations[i1,l2,r3,qc,t1,2,3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_combinations[qc,l2,r3,i1,t1,2,3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_combinations[xqc,xl2,xr3,xi1,xt1,2,3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_combinations[xqcl2xr3xi1xt1,2,3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_reset_arguments PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_invalid_tab_stops PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_unknown_escape_sequence PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_change_height PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_change_height_without_semicolon PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_change_char_tracking PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_change_paragraph PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_one_char_commands PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_unknown_escape_sequence PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_scan_empty_text PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_non_empty_string_is_not_empty PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_peeking_next_letter PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_peeking_more_letters_ahead PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_peeking_beyond_word_boundaries_returns_empty_string PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_getting_next_letter_forwards_scan_position PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_consume_one_letter PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_consume_two_letter PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_getting_all_letters_empties_scanner PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_can_not_consume_zero_chars PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_can_not_consume_negative_chars PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_can_not_peek_in_reverse_direction PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_find_next_char PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_find_ignores_escaped_chars PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_find_next_backslash PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_not_find_next PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_substr_at_the_begin PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_substr_from_consumed_string PASSED [ 41%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_substr_index_error PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_text_size_of_an_empty_string PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_single_char PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string[ABC] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string[.,!] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string[ ] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string_for_width_factor_2[ABC] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string_for_width_factor_2[.,!] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string_for_width_factor_2[ ] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_measurement_of_plain_text[ABC\n] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_measurement_of_plain_text[ABC\r] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_measurement_of_plain_text[AB^I] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_measurement_of_plain_text[AB%%d] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_support_for_text_size PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_an_empty_string PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_a_single_char PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_a_string PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_estimate_mtext_extents PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_2_lines[2.0-6.703281982585398] PASSED [ 41%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_2_lines[3.0-10.054922973878098] PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_non_exiting_handles_return_0 PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_access_interface PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_simple_references PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_nested_block_references PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_used_in_xdata PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_used_in_app_data PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_used_in_xrecord PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_in_header_section PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_in_dimstyle PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_in_leader PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_for_anonymous_dimension_block PASSED [ 41%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_in_mleader_style PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[33554432-1.0] PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[33554559-0.5] PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[33554687-0.0] PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[0-1.0] PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[127-0.5] PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[255-0.0] PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_float_to_transparency[33554432-1.0] PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_float_to_transparency[33554559-0.5] PASSED [ 41%] tests/test_05_tools/test_525_transparency.py::test_float_to_transparency[33554687-0.0] PASSED [ 41%] tests/test_05_tools/test_526_explode.py::test_virtual_entities_from_insert PASSED [ 41%] tests/test_05_tools/test_526_explode.py::test_transparency_of_virtual_entities_from_insert PASSED [ 41%] tests/test_05_tools/test_526_explode.py::test_complex_target_coordinate_system PASSED [ 41%] tests/test_05_tools/test_526_explode.py::test_explode_scaled_block_ref_containing_a_hatch PASSED [ 41%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_default_init PASSED [ 41%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_str PASSED [ 41%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_repr PASSED [ 41%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_as_dict PASSED [ 41%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_as_dict_default_values PASSED [ 41%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_set_aci_color PASSED [ 41%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_set_transparency_as_float PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_set_transparency_by_block PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_set_transparency_as_raw_dxf_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_validation_errors PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_init_by_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_init_by_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_set_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_set_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_str PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_repr PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_init_by_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_init_by_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_set_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_set_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_str PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_repr PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_init_by_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_init_by_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_set_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_reset_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_set_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_str PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_repr PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_init_by_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_init_by_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_set_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_set_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_str PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_repr PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_init_by_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_init_by_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_set_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_set_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_str PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_repr PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_init_by_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_init_by_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_value[0.0] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_value[0.5] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_value[1.0] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_by_block_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_reset_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_str PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_by_block_str PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_repr PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_init_by_value PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_init_by_invalid_value_raises_exception PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_value[0.5] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_value[1.0] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_value[2.0] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_value[1] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_invalid_value_raises_exception[-1.0] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_invalid_value_raises_exception[0.0] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_invalid_value_raises_exception[-1] PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_str PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_repr PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_gfx_attribs_as_dict PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_transparency_by_block_as_dict PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_gfx_attribs_string PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_gfx_attribs_repr PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_load_header_defaults PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_write_back_header_defaults PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_from_entity PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_update_dxf_attributes_from_gfx_attribs PASSED [ 42%] tests/test_05_tools/test_527_gfxattribs.py::test_update_transparency_by_block_from_gfx_attribs PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_equal_string_tags PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_round_tags PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_equal_rounded_float_tags PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_equal_vertex_tags PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_prepend_tag PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_insert_tag PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_append_tag PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_replace_last_tag PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_replace_inner_tag PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_delete_last_tag PASSED [ 42%] tests/test_05_tools/test_528_difftags.py::test_delete_inner_tag PASSED [ 42%] tests/test_05_tools/test_529_acis_sat.py::test_default_header PASSED [ 42%] tests/test_05_tools/test_529_acis_sat.py::test_dump_header_string[400-400 0 1 0 \n25 ezdxf v1.3.4 ACIS Builder 12 ACIS 4.00 NT 24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 ] PASSED [ 42%] tests/test_05_tools/test_529_acis_sat.py::test_dump_header_string[700-700 0 1 0 \n@25 ezdxf v1.3.4 ACIS Builder @12 ACIS 32.0 NT @24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 ] PASSED [ 42%] tests/test_05_tools/test_529_acis_sat.py::test_dump_header_string[21800-21800 0 1 0 \n@25 ezdxf v1.3.4 ACIS Builder @14 ACIS 218.00 NT @24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 ] PASSED [ 42%] tests/test_05_tools/test_529_acis_sat.py::test_parse_header_str[18 ezdxf ACIS Builder 14 ACIS 208.00 NT 24 Sat Jan 1 10:00:00 2022 ] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::test_parse_header_str[@18 ezdxf ACIS Builder @14 ACIS 208.00 NT @24 Sat Jan 1 10:00:00 2022 ] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::test_parse_sat_header[400 0 1 0 \n25 ezdxf v1.3.4 ACIS Builder 12 ACIS 4.00 NT 24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 -400] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::test_parse_sat_header[21800 0 1 0 \n@25 ezdxf v1.3.4 ACIS Builder @14 ACIS 218.00 NT @24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 -21800] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_end_of_records_detection[data0] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_end_of_records_detection[data1] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_merge_records[data0] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_merge_records[data1] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_merge_records[data2] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_weird_placement_of_record_terminator PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_simple_case PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_sequence_numbers PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_non_continuous_sequence_numbers_raises_exception PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_merged_records[data0] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_merged_records[data1] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_merged_records[data2] PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::test_build_entities PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_parsing_result PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_body_entity PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_ptr_resolving PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_attr_ptr_is_reset PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_dump_sat_recreates_the_source_structure PASSED [ 43%] tests/test_05_tools/test_529_acis_sat.py::test_build_str_records PASSED [ 43%] tests/test_05_tools/test_530_acis_sab.py::test_decode_header PASSED [ 43%] tests/test_05_tools/test_530_acis_sab.py::test_encode_header PASSED [ 43%] tests/test_05_tools/test_530_acis_sab.py::test_decode_first_record PASSED [ 43%] tests/test_05_tools/test_530_acis_sab.py::test_decode_all_records PASSED [ 43%] tests/test_05_tools/test_530_acis_sab.py::test_parse_sab PASSED [ 43%] tests/test_05_tools/test_530_acis_sab.py::TestSabEntity::test_get_pointer_at_index PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::test_load_any_format[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_type_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_transform_attribute[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_transform_attribute_was_loaded[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_wire_attribute[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_get_all_lumps_as_a_list[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_lump_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_back_pointer_to_body[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_no_next_lump[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_attribute_to_first_shell[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_get_all_shells_as_a_list[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_shell_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_back_pointer_to_lump[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_has_no_next_shell[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_get_all_faces_as_a_list[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_back_pointer_to_shell[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_has_attribute_surface[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_features[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_traverse_all_six_cube_faces[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_location[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_normal[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_u_dir[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_has_infinite_bounds[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_cube_face_has_only_one_loop[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_references_the_parent_face[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_forward_linked_list[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_reverse_linked_list[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_partner_co_edge_count_is_two[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_have_partner_co_edges_other_faces[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_sense_of_co_edge_is_forward[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_references_the_parent_loop[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_a_start_vertex[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_an_end_vertex[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_sense_of_edge_is_forward[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_underlying_curve_of_edge[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_is_referenced_by_two_parent_co_edges[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_references_parent_edge[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_type[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_location[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_get_all_points[SAT_400] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::test_load_any_format[SAT_700] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_type_type[SAT_700] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_transform_attribute[SAT_700] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_transform_attribute_was_loaded[SAT_700] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_wire_attribute[SAT_700] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_get_all_lumps_as_a_list[SAT_700] PASSED [ 43%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_lump_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_back_pointer_to_body[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_no_next_lump[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_attribute_to_first_shell[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_get_all_shells_as_a_list[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_shell_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_back_pointer_to_lump[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_has_no_next_shell[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_get_all_faces_as_a_list[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_back_pointer_to_shell[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_has_attribute_surface[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_features[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_traverse_all_six_cube_faces[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_location[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_normal[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_u_dir[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_has_infinite_bounds[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_cube_face_has_only_one_loop[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_references_the_parent_face[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_forward_linked_list[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_reverse_linked_list[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_partner_co_edge_count_is_two[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_have_partner_co_edges_other_faces[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_sense_of_co_edge_is_forward[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_references_the_parent_loop[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_a_start_vertex[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_an_end_vertex[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_sense_of_edge_is_forward[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_underlying_curve_of_edge[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_is_referenced_by_two_parent_co_edges[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_references_parent_edge[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_type[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_location[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_get_all_points[SAT_700] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::test_load_any_format[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_type_type[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_transform_attribute[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_transform_attribute_was_loaded[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_wire_attribute[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_get_all_lumps_as_a_list[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_lump_type[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_back_pointer_to_body[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_no_next_lump[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_attribute_to_first_shell[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_get_all_shells_as_a_list[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_shell_type[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_back_pointer_to_lump[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_has_no_next_shell[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_get_all_faces_as_a_list[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_type[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_back_pointer_to_shell[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_has_attribute_surface[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_features[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_traverse_all_six_cube_faces[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_type[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_location[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_normal[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_u_dir[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_has_infinite_bounds[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_type[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_cube_face_has_only_one_loop[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_references_the_parent_face[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_type[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_forward_linked_list[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_reverse_linked_list[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_partner_co_edge_count_is_two[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_have_partner_co_edges_other_faces[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_sense_of_co_edge_is_forward[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_references_the_parent_loop[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_type[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_a_start_vertex[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_an_end_vertex[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_sense_of_edge_is_forward[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_underlying_curve_of_edge[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_is_referenced_by_two_parent_co_edges[SAB_R2013] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_type[SAB_R2013] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_references_parent_edge[SAB_R2013] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_type[SAB_R2013] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_location[SAB_R2013] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_get_all_points[SAB_R2013] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::test_load_any_format[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_type_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_transform_attribute[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_transform_attribute_was_loaded[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_wire_attribute[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_get_all_lumps_as_a_list[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_lump_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_back_pointer_to_body[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_no_next_lump[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_attribute_to_first_shell[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_get_all_shells_as_a_list[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_shell_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_back_pointer_to_lump[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_has_no_next_shell[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_get_all_faces_as_a_list[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_back_pointer_to_shell[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_has_attribute_surface[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_features[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_traverse_all_six_cube_faces[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_location[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_normal[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_u_dir[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_has_infinite_bounds[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_cube_face_has_only_one_loop[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_references_the_parent_face[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_forward_linked_list[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_reverse_linked_list[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_partner_co_edge_count_is_two[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_have_partner_co_edges_other_faces[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_sense_of_co_edge_is_forward[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_references_the_parent_loop[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_a_start_vertex[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_an_end_vertex[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_sense_of_edge_is_forward[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_underlying_curve_of_edge[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_is_referenced_by_two_parent_co_edges[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_references_parent_edge[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_type[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_location[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_get_all_points[SAB_R2018] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_append_lumps PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_append_shells PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_append_faces PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPolyhedronFaceBuilder::test_creates_six_faces PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPolyhedronFaceBuilder::test_each_face_defines_a_plane_surface PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_set_closed_coedges PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_set_open_coedges PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::test_default_partner_co_edge_count_is_two PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestExportSat::test_export_rejects_unsupported_acis_versions PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestExportSat::test_export_acis_700 PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestExportSab21800::test_export_rejects_unsupported_acis_versions PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestExportSab21800::test_reload_records_from_acis_export PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::test_load_mesh_from_exported_sat_data PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::test_load_mesh_from_exported_sab_data PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestExportTransform::test_export_sat_identity_matrix PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestExportTransform::test_export_sab_identity_matrix PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPrismToMesh::test_mesh_has_10_faces PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPrismToMesh::test_mesh_has_8_unique_vertices PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPrismToMesh::test_all_faces_have_at_least_3_vertices PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPrismToMesh::test_any_face_has_at_least_4_vertices PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_six_faces_will_be_created PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_each_face_gets_it_own_plane PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_each_face_has_a_single_loop PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_24_unique_coedges PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_coedge_references_parent_loop PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_partner_coedges PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_12_unique_edges PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_edges_have_a_parent_coedge PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_each_edges_has_a_unique_straight_line PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_8_unique_vertices PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_8_unique_points PASSED [ 45%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_build_multiple_times_independent_faces PASSED [ 46%] tests/test_05_tools/test_532_acis_mesh.py::test_rebuild_mesh_from_acis_body PASSED [ 46%] tests/test_05_tools/test_532_acis_mesh.py::TestTransformCenterOfMeshToOriginAtConversionToAcisBody::test_transformation_matrix_for_translation PASSED [ 46%] tests/test_05_tools/test_532_acis_mesh.py::TestTransformCenterOfMeshToOriginAtConversionToAcisBody::test_if_acis_points_are_centered_around_the_origin PASSED [ 46%] tests/test_05_tools/test_532_acis_mesh.py::test_non_manifold_detection PASSED [ 46%] tests/test_05_tools/test_532_acis_mesh.py::test_body_from_menger_sponge_is_manifold PASSED [ 46%] tests/test_05_tools/test_532_acis_mesh.py::test_vertices_from_body PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::test_filter_noise PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::test_merge_wrapped_spec_line PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::test_do_not_merge_spec_without_name PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::test_big_font_not_supported PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_shape_file_name PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_cap_height PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_descender PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_mode PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_encoding PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_embed PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_is_font PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_shape_count PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_shape_by_number PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_find_shape_by_name PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_find_undefined_shape PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeFile::test_is_a_shape_file PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeFile::test_shape_by_number PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeFile::test_shape_by_name PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_only_lines PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_bulges PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_full_circle_by_octant_arc PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_ccw_fractional_arcs_number_nine PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_ccw_fractional_arcs_ampersand PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_clockwise_fractional_arcs_letter_c PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_unsupported_non_printable_shape_number_returns_empty_path PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_unsupported_printable_shape_number_returns_empty_box PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_empty_box_has_advance_width_like_glyph_A PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxShapeFile::test_shape_count PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxShapeFile::test_shape_file_has_no_name PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxShapeFile::test_shape_data PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxFontFile::test_shape_count PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxFontFile::test_some_shape_data PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestLoadUnifontFile::test_shape_count PASSED [ 46%] tests/test_05_tools/test_533_shapefiles.py::TestLoadUnifontFile::test_one_shape_data PASSED [ 46%] tests/test_05_tools/test_534_dwg_info.py::test_detect[R12] PASSED [ 46%] tests/test_05_tools/test_534_dwg_info.py::test_detect[R2000] PASSED [ 46%] tests/test_05_tools/test_534_dwg_info.py::test_detect[R2018] PASSED [ 46%] tests/test_05_tools/test_534_dwg_info.py::test_detect[unknown] PASSED [ 46%] tests/test_05_tools/test_534_dwg_info.py::test_detect_invalid[invalid] PASSED [ 46%] tests/test_05_tools/test_534_dwg_info.py::test_detect_invalid[empty] PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_a_simple_layer PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_a_shape_linetype PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_a_text_linetype PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_layer_with_complex_linetype PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_a_text_style_with_extended_font_data PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_dimstyle PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_layer_with_custom_default_material PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_plain_entity PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_entity_layer_without_layer_table_entry PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_entity_with_xdata PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_entity_with_reactors PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_entity_with_extension_dict PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadTextEntities::test_load_text_entity PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadTextEntities::test_load_mtext_entity PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadTextEntities::test_attdef_with_embedded_mtext_entity PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::test_load_mtext_with_columns PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadLinkedEntities::test_load_polyline PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLoadLinkedEntities::test_load_polyface PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestBlocks::test_load_block_layout PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestBlocks::test_load_block_layout_does_type_checking PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestBlocks::test_load_block_reference PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestBlocks::test_load_block_reference_attributes PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestAnonymousBlocks::test_load_anonymous_block PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::test_loaded_external_reference PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::test_load_hard_owned_XRecord_within_appdata_section PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::test_load_hard_owned_XRecord_by_extension_dict PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestDimension::test_load_dimension_style_exist PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestDimension::test_loaded_geometry_block_exist PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestDimensionDimStyleOverride::test_load_dimension_style_exist PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestDimensionDimStyleOverride::test_dot_blocks_in_source_doc PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestDimensionDimStyleOverride::test_loaded_geometry_block_has_two_block_refs_of_dot PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestDimensionDimStyleOverride::test_loaded_xdata_override_has_handle_to_existing_block PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLeader::test_loaded_leader_is_linked_to_loaded_text PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::TestLeader::test_loaded_xdata_override_has_handle_to_existing_block PASSED [ 46%] tests/test_05_tools/test_535_xref_basic.py::test_tolerance_entity_register_dimstyle PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::test_associative_hatch_has_updated_source_boundary_handles PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadImage::test_loaded_infrastructure PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadImage::test_loaded_images_share_image_definition PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadImage::test_loaded_image_def_reactors PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadWipeout::test_loaded_infrastructure PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadWipeout::test_loaded_wipeout_has_same_boundary_path PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadMLine::test_loaded_infrastructure PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadMLine::test_loaded_mline_has_correct_style_attributes PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadMLine::test_loaded_mline_has_same_vertices PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderMText::test_loaded_infrastructure PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderMText::test_loaded_mleader_mtext_style PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderMText::test_loader_multileader_attributes PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderBlock::test_loaded_mleader_block_style PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderBlock::test_loaded_mleader_attributes PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderBlock::test_loaded_block_attributes PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestUnderlay::test_loaded_infrastructure PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestUnderlay::test_loaded_attributes PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceLayout::test_loaded_infrastructure PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceLayout::test_loaded_paperspace_without_name_conflict PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceLayout::test_loaded_paperspace_content PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceLayout::test_paperspace_name_conflict PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceViewport::test_loaded_viewport_attributes PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceViewport::test_loaded_clipping_entity PASSED [ 47%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceViewport::test_loaded_sun PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_conflict_policy_keep PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_xref_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_xref_rename_policy_load_2_times PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_numbered_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_numbered_rename_policy_load_2_times PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLinetypes::test_conflict_policy_keep PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLinetypes::test_xref_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLinetypes::test_numbered_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextStyles::test_conflict_policy_keep PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextStyles::test_xref_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextStyles::test_numbered_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadDimStyles::test_conflict_policy_keep PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadDimStyles::test_xref_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadDimStyles::test_numbered_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMaterials::test_conflict_policy_keep PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMaterials::test_xref_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMaterials::test_numbered_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLineStyles::test_conflict_policy_keep PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLineStyles::test_xref_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLineStyles::test_numbered_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLeaderStyles::test_conflict_policy_keep PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLeaderStyles::test_xref_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLeaderStyles::test_numbered_rename_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextWithExistingTextstyle::test_keep_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextWithExistingTextstyle::test_xref_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLineWithExistingLinetype::test_keep_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLineWithExistingLinetype::test_xref_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLineWithExistingComplexLinetype::test_xref_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadEntityWithExistingMaterial::test_keep_policy PASSED [ 47%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadEntityWithExistingMaterial::test_xref_policy PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_transformation_by_matrix_without_errors[doc] PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_transformation_by_matrix_without_errors[virtual] PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_non_uniform_transformation[doc] PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_entities_without_transformation_support PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_acis_entities PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_translate PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_scale_uniform PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_scale PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_z_rotate PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_y_rotate PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_x_rotate PASSED [ 47%] tests/test_05_tools/test_537_transform.py::test_circle_non_uniform_scaling PASSED [ 47%] tests/test_05_tools/test_537_transform.py::test_polyline_non_uniform_scaling PASSED [ 47%] tests/test_05_tools/test_537_transform.py::test_virtual_entities_do_not_support_non_uniform_scaling PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestVirtualCopies::test_just_copy PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestVirtualCopies::test_scale_virtual_circular_arcs_non_uniform PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestVirtualCopies::test_scale_virtual_polyline_with_bulge_non_uniform PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestMLeaderNonUniformScaling::test_transformation_will_not_be_applied_inplace PASSED [ 47%] tests/test_05_tools/test_537_transform.py::TestMLeaderNonUniformScaling::test_mleader_will_not_copied PASSED [ 47%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[word \\H100; word] PASSED [ 47%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[word \\H100 word] PASSED [ 47%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100; word] PASSED [ 47%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100 word] PASSED [ 47%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[word \\H100;] PASSED [ 47%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[word \\H100] PASSED [ 47%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100;] PASSED [ 47%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100.000] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[word \\H100; word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[word \\H100 word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[\\H100; word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[\\H100 word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[word \\H100;] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[word \\H100] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[\\H100;] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[\\H100] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[word \\H100x; word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[word \\H100x word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100x; word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100x word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[word \\H100x;] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[word \\H100x] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100x;] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100x] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100.000x] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H; word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H0 word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H0; word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[\\H; word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[\\H word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[\\H0 word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[\\H0; word] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H;] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H0] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H0;] PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_negative_factor PASSED [ 48%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_empty_content PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_conversion PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_extents PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_transform_inplace PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_to_tuples PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_to_list PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints3d::test_conversion PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints3d::test_extents PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints3d::test_transform_inplace PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_clone PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_start_point PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_end_point PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_has_subpaths PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_has_no_subpaths PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_to_path_2d PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_extents PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_transform PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_start_point_only_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_from_empty_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_create_empty_path_from_none PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_extend_empty_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_extend_by_empty_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_extend_by_empty_2d_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_extend_by_empty_list PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_adjacent_paths PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_separated_paths PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_all_paths PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_curves PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_empty_list_returns_empty_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_empty_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_single_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_multipath_of_two PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_multipath_with_curve3 PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_multipath_with_curve4 PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_sub_paths_are_reversible PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::test_path_conversion_methods PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::test_flatten_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_empty_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_one_line PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_one_curve3 PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_one_curve4 PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_path_ctrl_vertices PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_flattened_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_multi_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_multi_path_with_a_move_to_cmd_at_the_end PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_has_clockwise_orientation PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_has_counter_clockwise_orientation PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_cw_and_ccw_orientation PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::test_clockwise_orientation_of_implicit_closed_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::test_clockwise_orientation_of_explicit_closed_path PASSED [ 48%] tests/test_05_tools/test_539_npshapes.py::test_counter_clockwise_orientation_of_implicit_closed_path PASSED [ 49%] tests/test_05_tools/test_539_npshapes.py::test_counter_clockwise_orientation_of_explicit_closed_path PASSED [ 49%] tests/test_05_tools/test_540_lff_parser.py::test_load_font PASSED [ 49%] tests/test_05_tools/test_540_lff_parser.py::test_glyph_A PASSED [ 49%] tests/test_05_tools/test_540_lff_parser.py::test_glyph_dollar PASSED [ 49%] tests/test_05_tools/test_540_lff_parser.py::test_composite_glyph PASSED [ 49%] tests/test_05_tools/test_540_lff_parser.py::test_render_glyphs PASSED [ 49%] tests/test_05_tools/test_540_lff_parser.py::test_scan_int_ex PASSED [ 49%] tests/test_05_tools/test_541_clipping_portal.py::TestClippingRect::test_clipping_points PASSED [ 49%] tests/test_05_tools/test_541_clipping_portal.py::TestClippingRect::test_clipping_lines PASSED [ 49%] tests/test_05_tools/test_541_clipping_portal.py::TestClippingRect::test_clip_polyline PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_empty_list PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_1_item PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_2_items PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_3_items PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_4_items PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestPairwiseOpen::test_empty_list PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestPairwiseOpen::test_1_item PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestPairwiseOpen::test_2_items PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestPairwiseOpen::test_3_items PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestPairwiseClose::test_empty_list PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestPairwiseClose::test_1_item PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestPairwiseClose::test_2_items PASSED [ 49%] tests/test_05_tools/test_542_itertools.py::TestPairwiseClose::test_3_items PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_all_inside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_inside_select_point PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_inside_select_point_and_line PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_outside_none PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_outside_all PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_overlaps_all PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_overlap_selects_touching_entities PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_all_inside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_all_outside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_none_outside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_outside_corner_case_point PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_outside_corner_case_polyline PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_overlap_all PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_overlap_none PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_is_overlapping_point PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_is_overlapping_line PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_invalid_vertex_count[vertices0] PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_invalid_vertex_count[vertices1] PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_invalid_vertex_count[vertices2] PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_invalid_vertex_count[vertices3] PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_all_inside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_circle_not_inside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_circle_is_not_inside_concave_polygon PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_all_outside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_point_is_outside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_line_is_not_outside PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_all_overlap PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_point_not_overlaps PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_line_overlaps PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_circle_overlaps PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_concave PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_invalid_vertex_count[vertices0] PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_invalid_vertex_count[vertices1] PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_overlap_all_except_point PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_can_not_select_point PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_select_nothing_inside_a_closed_fence PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_select_by_touching_bbox_corner PASSED [ 49%] tests/test_05_tools/test_543_select.py::test_point_selects_all PASSED [ 49%] tests/test_05_tools/test_543_select.py::test_all_entities_chained_by_bounding_boxes PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_circle_select_radius_1 PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_circle_select_radius_2 PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_circle_select_all PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_rect_select PASSED [ 49%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_rect_select_all PASSED [ 49%] tests/test_05_tools/test_544_revcloud.py::test_create_revcloud PASSED [ 49%] tests/test_05_tools/test_544_revcloud.py::test_too_few_points_raises_exception[points0] PASSED [ 49%] tests/test_05_tools/test_544_revcloud.py::test_too_few_points_raises_exception[points1] PASSED [ 49%] tests/test_05_tools/test_544_revcloud.py::test_too_few_points_raises_exception[points2] PASSED [ 49%] tests/test_05_tools/test_544_revcloud.py::test_too_few_points_raises_exception[points3] PASSED [ 49%] tests/test_05_tools/test_544_revcloud.py::test_too_small_segment_length_raises_exception PASSED [ 49%] tests/test_05_tools/test_544_revcloud.py::test_add_entity PASSED [ 49%] tests/test_05_tools/test_545_acis_cache.py::test_create_a_new_cache PASSED [ 49%] tests/test_05_tools/test_545_acis_cache.py::test_get_bodies_from_sat_data PASSED [ 49%] tests/test_05_tools/test_545_acis_cache.py::test_empty_data_does_not_create_cache_entries PASSED [ 49%] tests/test_05_tools/test_545_acis_cache.py::test_get_bodies_from_sab_data PASSED [ 49%] tests/test_05_tools/test_545_acis_cache.py::test_add_only_unique_entries PASSED [ 49%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_empty_string PASSED [ 49%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_string PASSED [ 50%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_strings PASSED [ 50%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_empty_string_list PASSED [ 50%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_empty_bytes PASSED [ 50%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_bytes PASSED [ 50%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_bytearray PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestBasicRequirements::test_vec3_requirements[Vec3] PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestBasicRequirements::test_rtree_requirements[Vec3] PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestBasicRequirements::test_vec3_requirements[_Vertex] PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestBasicRequirements::test_rtree_requirements[_Vertex] PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_init PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_edge_is_immutable PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_identity PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_reversed_copy PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_edge_can_be_used_in_sets PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_get_degree_of_vertex PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_get_degree_of_vertices PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_degree_counter PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_unique_vertices PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_find_edges_linked_to_vertex_A_D PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_find_edges_linked_to_vertex_A_G PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_find_nearest_edge PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_network_A_D PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_solitary_edge_is_a_network PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_network_A_G PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_all_networks PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_all_disconnected_networks PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_all_networks_solitary_edges PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_find_loose_ends PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_single_edge_is_a_loose_ends PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_loops_do_not_have_loose_ends PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestLoop::test_loop_key PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFindSequential::test_is_forward_connected PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFindSequential::test_find_sequential PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_find_any_loop PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_loop_A_B_C_D PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_loop_D_A_B_C PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_loop_A_to_D_unique_solutions PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_loops_A_to_G PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::test_find_all_sequential PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::test_find_all_complex_loops PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestAPIFunction::test_find_all_loop PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestAPIFunction::test_find_first_loop PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestAPIFunction::test_find_shortest_loop PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestAPIFunction::test_find_longest_loop PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFindAllDisconnectedLoops::test_find_all_loops PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFindAllDisconnectedLoops::test_find_all_shuffled_loops PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestChainFinder::test_find_simple_chain PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestChainFinder::test_find_all_simple_chains PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestChainFinder::test_closed_loop PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrap_chain PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_is_wrapped_chain PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrapping_empty_chain_raises_exception PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrapping_single_edge_raises_exception PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrapping_unlinked_edges_raises_exception PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrapping_loop_raises_exception PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_unwrap_chain PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_unwrap_reversed_chain PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_unwrapping_single_edge PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_flatten_nested_edges PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_flatten_empty_sequence PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestOpenChainFinder::test_find_all_open_chains PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestOpenChainFinder::test_does_not_detect_closed_loops PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestOpenChainFinder::test_not_does_detect_indirect_loops PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFindLoopByEdge::test_search_continuation_clockwise PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFindLoopByEdge::test_search_continuation_counter_clockwise PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::test_filter_coincident_edges PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFilterCloseVertices::test_coincident_vertices PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFilterCloseVertices::test_chain_of_close_vertices PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestFilterCloseVertices::test_grid_of_close_vertices PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_B_C_base_A PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_G_H_base_A PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_B_H_base_A PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_A_B_base_C PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_D_E_base_C PASSED [ 50%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_B_D_base_C PASSED [ 50%] tests/test_05_tools/test_547_edgesmith.py::test_circle_is_a_closed_entity PASSED [ 50%] tests/test_05_tools/test_547_edgesmith.py::test_circle_of_radius_0_is_not_a_closed_entity PASSED [ 50%] tests/test_05_tools/test_547_edgesmith.py::test_open_arc_is_not_a_closed_entity[0-180] PASSED [ 50%] tests/test_05_tools/test_547_edgesmith.py::test_open_arc_is_not_a_closed_entity[0-0] PASSED [ 50%] tests/test_05_tools/test_547_edgesmith.py::test_open_arc_is_not_a_closed_entity[180-180] PASSED [ 50%] tests/test_05_tools/test_547_edgesmith.py::test_open_arc_is_not_a_closed_entity[360-360] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_closed_arc_is_a_closed_entity[0-360] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_closed_arc_is_a_closed_entity[360-0] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_closed_arc_is_a_closed_entity[180--180] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_open_ellipse_is_not_a_closed_entity[0-3.141592653589793] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_open_ellipse_is_not_a_closed_entity[0-0] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_open_ellipse_is_not_a_closed_entity[3.141592653589793-3.141592653589793] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_open_ellipse_is_not_a_closed_entity[6.283185307179586-6.283185307179586] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_closed_ellipse_is_a_closed_entity[0-6.283185307179586] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_closed_ellipse_is_a_closed_entity[6.283185307179586-0] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_closed_ellipse_is_a_closed_entity[3.141592653589793--3.141592653589793] PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_closed_lwpolyline_is_a_closed_entity PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_open_lwpolyline_is_not_a_closed_entity PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_explicit_closed_lwpolyline_is_a_closed_entity PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_closed_spline PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_open_spline PASSED [ 51%] tests/test_05_tools/test_547_edgesmith.py::test_empty_spline PASSED [ 51%] tests/test_06_math/test_600_base.py::test_left_of_line PASSED [ 51%] tests/test_06_math/test_600_base.py::test_point_to_line_relation_left PASSED [ 51%] tests/test_06_math/test_600_base.py::test_left_of_line_or_on_the_line PASSED [ 51%] tests/test_06_math/test_600_base.py::test_point_ot_line_relation_on_line PASSED [ 51%] tests/test_06_math/test_600_base.py::test_xround PASSED [ 51%] tests/test_06_math/test_600_base.py::test_enclosing_angles PASSED [ 51%] tests/test_06_math/test_600_base.py::test_no_points PASSED [ 51%] tests/test_06_math/test_600_base.py::test_one_points PASSED [ 51%] tests/test_06_math/test_600_base.py::test_two_points PASSED [ 51%] tests/test_06_math/test_600_base.py::test_more_points PASSED [ 51%] tests/test_06_math/test_600_base.py::test_decdeg2dms PASSED [ 51%] tests/test_06_math/test_600_base.py::test_linspace PASSED [ 51%] tests/test_06_math/test_600_base.py::test_area PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_radius PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_center PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_arc_to_bulge PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_3_points PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_to_arc PASSED [ 51%] tests/test_06_math/test_601_bulge.py::TestBulgeFromRadiusAndChord::test_semi_circle_bulge PASSED [ 51%] tests/test_06_math/test_601_bulge.py::TestBulgeFromRadiusAndChord::test_half_bulge PASSED [ 51%] tests/test_06_math/test_601_bulge.py::TestBulgeFromRadiusAndChord::test_radius_of_zero PASSED [ 51%] tests/test_06_math/test_601_bulge.py::TestBulgeFromRadiusAndChord::test_too_small_radius_for_chord PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[180-1.0] PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[-180--1.0] PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[106.26020471-0.5] PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[-106.26020471--0.5] PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[56.14497387-0.25] PASSED [ 51%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[-56.14497387--0.25] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_default_constructor[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_default_constructor[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_init_one_param[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_init_one_param[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_invalid_one_param_init[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_invalid_one_param_init[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_invalid_param_count[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_invalid_param_count[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_init_two_params[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_init_two_params[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_init_three_params[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_init_three_params[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_immutable_attributes[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_immutable_attributes[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_from_angle[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_from_angle[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_usage_as_tuple[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_usage_as_tuple[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_positive_index[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_positive_index[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3_0--1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3_0--2] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3_0--3] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3_1--1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3_1--2] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3_1--3] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_does_not_support_slicing[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_item_does_not_support_slicing[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_vec2[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_vec2[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_round[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_round[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_iter[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_iter[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_deep_copy[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_deep_copy[Vec3_1] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_angle[Vec3_0] PASSED [ 51%] tests/test_06_math/test_602_vec3.py::test_get_angle[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_spatial_angle[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_spatial_angle[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_compare_vectors[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_compare_vectors[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_xy[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_xy[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_is_null[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_is_null[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_is_not_null_default_abs_tol[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_is_not_null_default_abs_tol[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_is_null_default_abs_tol[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_is_null_default_abs_tol[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_bool[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_bool[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_magnitude[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_magnitude[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_magnitude_square[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_magnitude_square[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_normalize[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_normalize[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_normalize_to_length[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_normalize_to_length[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_normalize_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_normalize_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_orthogonal_ccw[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_orthogonal_ccw[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_orthogonal_cw[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_orthogonal_cw[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_negative[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_negative[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_add_vector[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_add_vector[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_iadd_vector[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_iadd_vector[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_radd_vector[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_radd_vector[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_add_scalar_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_add_scalar_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_radd_scalar_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_radd_scalar_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_iadd_scalar_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_iadd_scalar_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_sub_vector[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_sub_vector[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_isub_vector[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_isub_vector[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rsub_vector[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rsub_vector[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_sub_scalar_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_sub_scalar_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rsub_scalar_vector_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rsub_scalar_vector_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_isub_scalar_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_isub_scalar_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_mul_scalar[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_mul_scalar[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_mul_tuple_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_mul_tuple_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_imul_scalar[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_imul_scalar[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_imul_tuple_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_imul_tuple_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rmul_scalar[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rmul_scalar[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rmul_tuple_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rmul_tuple_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_div_scalar[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_div_scalar[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_idiv_scalar[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_idiv_scalar[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_div_tuple_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_div_tuple_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rdiv_scalar_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rdiv_scalar_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rdiv_tuple_type_error[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_rdiv_tuple_type_error[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_inplace_operations_do_not_mutate_vec3_inplace PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_dot_product[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_dot_product[Vec3_1] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_angle_deg[Vec3_0] PASSED [ 52%] tests/test_06_math/test_602_vec3.py::test_angle_deg[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_between[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_between[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3_0-v10-v20] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3_0-v11-v21] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3_0-v12-v22] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3_1-v10-v20] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3_1-v11-v21] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3_1-v12-v22] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_about[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_angle_about[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_cross_product[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_cross_product[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_rot_z[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_rot_z[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_lerp[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_lerp[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_replace[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_replace[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_project[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_project[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_vec3_sum[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_vec3_sum[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_picklable[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_picklable[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_equal[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_equal[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_equal[Vec3_0] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_equal[Vec3_1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_0-1.000001-1.0000019-1e-06] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_0-10.000001-10.0000019-1e-07] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_0-100.000001-100.0000019-1e-08] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_0-1000.000001-1000.0000019-1e-09] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_0-10000.000001-10000.0000019-1e-10] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_0-100000.000001-100000.0000019-1e-11] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_0-1000000.000001-1000000.0000019-1e-12] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_1-1.000001-1.0000019-1e-06] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_1-10.000001-10.0000019-1e-07] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_1-100.000001-100.0000019-1e-08] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_1-1000.000001-1000.0000019-1e-09] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_1-10000.000001-10000.0000019-1e-10] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_1-100000.000001-100000.0000019-1e-11] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3_1-1000000.000001-1000000.0000019-1e-12] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_0-1.000001-1.0000019-1e-07] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_0-10.000001-10.0000019-1e-08] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_0-100.000001-100.0000019-1e-09] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_0-1000.000001-1000.0000019-1e-10] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_0-10000.000001-10000.0000019-1e-11] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_0-100000.000001-100000.0000019-1e-12] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_0-1000000.000001-1000000.0000019-1e-13] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_1-1.000001-1.0000019-1e-07] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_1-10.000001-10.0000019-1e-08] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_1-100.000001-100.0000019-1e-09] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_1-1000.000001-1000.0000019-1e-10] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_1-10000.000001-10000.0000019-1e-11] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_1-100000.000001-100000.0000019-1e-12] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3_1-1000000.000001-1000000.0000019-1e-13] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_0-10.00000001-10.000000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_0-100.0000001-100.00000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_0-1000.000001-1000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_0-10000.00001-10000.000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_0-100000.0001-100000.00019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_1-10.00000001-10.000000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_1-100.0000001-100.00000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_1-1000.000001-1000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_1-10000.00001-10000.000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3_1-100000.0001-100000.00019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_0-10.000001-10.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_0-100.000001-100.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_0-1000.000001-1000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_0-10000.000001-10000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_0-100000.000001-100000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_0-1000000.000001-1000000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_1-10.000001-10.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_1-100.000001-100.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_1-1000.000001-1000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_1-10000.000001-10000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_1-100000.000001-100000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3_1-1000000.000001-1000000.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_0-10.000001-10.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_0-100.000001-100.0000019] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_0-1000.000001-1000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_0-10000.000001-10000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_0-100000.000001-100000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_0-1000000.000001-1000000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_1-10.000001-10.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_1-100.000001-100.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_1-1000.000001-1000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_1-10000.000001-10000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_1-100000.000001-100000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3_1-1000000.000001-1000000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_loosing_floating_point_precision_for_big_values PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_tuple[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_tuple[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_tuple[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_empty_init[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_empty_init[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_empty_init[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_vec2[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_vec2[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_vec2[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_compatible_to_vector PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_vec3[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_vec3[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_round[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_round[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_from_angle[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_from_angle[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_from_angle[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_vec2_as_tuple[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_vec2_as_tuple[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_iter[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_iter[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_iter[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_deep_copy PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_get_angle[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_get_angle[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_get_angle[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_compare_vectors[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_compare_vectors[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_compare_vectors[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_close[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_close[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_close[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_not_null_default_abs_tol[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_not_null_default_abs_tol[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_not_null_default_abs_tol[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null_default_abs_tol[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null_default_abs_tol[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null_default_abs_tol[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_bool[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_bool[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_bool[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_magnitude[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_magnitude[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_magnitude[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_normalize[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_normalize[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_normalize[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_normalize_to_length[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_normalize_to_length[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_normalize_to_length[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_orthogonal_ccw[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_orthogonal_ccw[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_orthogonal_ccw[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_orthogonal_cw[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_orthogonal_cw[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_orthogonal_cw[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_negative[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_negative[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_negative[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_add_vector[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_add_vector[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_add_vector[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_add_vec3[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_add_vec3[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_iadd_vector[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_iadd_vector[Vec2_1] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_inplace_operations_do_not_mutate_vec2_inplace PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_add_scalar_type_erorr[Vec2_0] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_add_scalar_type_erorr[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_add_scalar_type_erorr[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_iadd_scalar_type_error[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_iadd_scalar_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_iadd_scalar_type_error[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_radd_scalar_type_error[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_radd_scalar_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_radd_scalar_type_error[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_radd_tuple_type_error[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_radd_tuple_type_error[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_vector[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_vector[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_vector[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_isub_vector[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_isub_vector[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_vec3[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_vec3[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_scalar_type_error[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_scalar_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_scalar_type_error[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_isub_scalar_type_erorr[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_isub_scalar_type_erorr[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_isub_scalar_type_erorr[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rsub_tuple[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rsub_tuple[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rsub_scalar_type_error[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rsub_scalar_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rsub_scalar_type_error[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_scalar[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_scalar[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_scalar[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_scalar[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_scalar[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_scalar[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_tuple_type_error[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_tuple_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_tuple_type_error[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_tuple_type_error[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_tuple_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_tuple_type_error[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_tuple_type_error[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_tuple_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_tuple_type_error[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_div_scalar[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_div_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_div_scalar[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_idiv_scalar[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_idiv_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_idiv_scalar[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_dot_product[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_dot_product[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_dot_product[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_deg[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_deg[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_deg[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2_0-v10-v20] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2_0-v11-v21] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2_0-v12-v22] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec3-v10-v20] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec3-v11-v21] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec3-v12-v22] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2_1-v10-v20] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2_1-v11-v21] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2_1-v12-v22] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_outside_domain PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rotate[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rotate[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rotate[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_lerp[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_lerp[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_lerp[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_project[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_project[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_project[Vec2_1] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_det[Vec2_0] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_det[Vec2_1] PASSED [ 56%] tests/test_06_math/test_603_vec2.py::test_sum[Vec2_0] PASSED [ 56%] tests/test_06_math/test_603_vec2.py::test_sum[Vec3] PASSED [ 56%] tests/test_06_math/test_603_vec2.py::test_sum[Vec2_1] PASSED [ 56%] tests/test_06_math/test_603_vec2.py::test_picklable[Vec2_0] PASSED [ 56%] tests/test_06_math/test_603_vec2.py::test_picklable[Vec2_1] PASSED [ 56%] tests/test_06_math/test_604_banded_matrix.py::test_detect_banded_matrix PASSED [ 56%] tests/test_06_math/test_604_banded_matrix.py::test_compact_banded_matrix PASSED [ 56%] tests/test_06_math/test_604_banded_matrix.py::test_solve_banded_matrix_vector PASSED [ 56%] tests/test_06_math/test_604_banded_matrix.py::test_solve_banded_matrix_matrix PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_matrix_getter PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_matrix_setter PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_row PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_row PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_row_error PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_col PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_col PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_col_error PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_freeze_matrix PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_mul PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_imul PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_transpose PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_add PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_iadd PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_sub PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_build_matrix_by_rows PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_build_matrix_by_cols PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_diag PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_diag_float PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_diag_above PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_diag_below PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_diag_iterable PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_identity PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_vector_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_matrix_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_jordan_vector_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_jordan_matrix_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_jordan_inverse PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_LU_decomposition_solve_vector PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_LU_decomposition_solve_matrix PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_LU_decomposition_inverse PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_determinant PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_tridiagonal_vector_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_tridiagonal_matrix_solver PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44_0-0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44_0-1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44_0-2] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44_0-3] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44_1-0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44_1-1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44_1-2] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44_1-3] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_numbers_constructor[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_numbers_constructor[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_row_constructor[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_row_constructor[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_invalid_row_constructor[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_invalid_row_constructor[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_invalid_number_constructor[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_invalid_number_constructor[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_item_does_not_support_slicing[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_item_does_not_support_slicing[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_item_index_error[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_item_index_error[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_item_does_not_support_slicing[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_item_does_not_support_slicing[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_item_index_error[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_item_index_error[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_iter[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_iter[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_copy[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_copy[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_row_index_error[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_row_index_error[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_row[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_row[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_row_index_error[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_row_index_error[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_col[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_col[Matrix44_1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_col_index_error[Matrix44_0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_col_index_error[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_col[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_col[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_col_index_error[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_col_index_error[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_is_orthogonal[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_is_orthogonal[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_is_cartesian[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_is_cartesian[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_translate[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_translate[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_scale[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_scale[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_x_rotate[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_x_rotate[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_y_rotate[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_y_rotate[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_z_rotate[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_z_rotate[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_chain[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_chain[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_chain2[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_chain2[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_transform[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_transform[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_multiply[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_multiply[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_transpose[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_transpose[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_inverse_error[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_inverse_error[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_determinant[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_determinant[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_axis_rotate_for_axis_normalization[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_axis_rotate_for_axis_normalization[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_assign_after_initialized[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_assign_after_initialized[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_picklable[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_picklable[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_shear_xy[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_shear_xy[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44_0-components0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44_0-components1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44_0-components2] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44_1-components0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44_1-components1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44_1-components2] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::test_has_matrix_2d_stretching PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::test_has_matrix_3d_stretching PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_translate[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_translate[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_z_rotate[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_z_rotate[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_scale[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_scale[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_scale_rotate_translate[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_scale_rotate_translate[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestTransformArrayInplace::test_ndim_2[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestTransformArrayInplace::test_ndim_2[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestTransformArrayInplace::test_ndim_3[Matrix44_0] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestTransformArrayInplace::test_ndim_3[Matrix44_1] PASSED [ 57%] tests/test_06_math/test_606_convexhull.py::test_convex_hull_raises PASSED [ 57%] tests/test_06_math/test_606_convexhull.py::test_convex_hull_set1 PASSED [ 57%] tests/test_06_math/test_606_convexhull.py::test_convex_hull_set2 PASSED [ 57%] tests/test_06_math/test_606_convexhull.py::test_convex_hull_set3 PASSED [ 57%] tests/test_06_math/test_607_perlin_noise.py::test_simplex_2d_range PASSED [ 57%] tests/test_06_math/test_607_perlin_noise.py::test_simplex_2d_octaves_range PASSED [ 57%] tests/test_06_math/test_607_perlin_noise.py::test_simplex_3d_range PASSED [ 57%] tests/test_06_math/test_607_perlin_noise.py::test_simplex_3d_octaves_range PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_virtual PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_with_vertical PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_with_horizontal PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_with_vertical_and_horizontal PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_parallel_vertical PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_parallel_horizontal PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_normal_vertical PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersection_by_line_end_points PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_real PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_real_colinear PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_coincident_lines[horiz] PASSED [ 58%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_coincident_lines[vert] PASSED [ 58%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_coincident_lines[diag] PASSED [ 58%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_issue_128 PASSED [ 58%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_issue_664 PASSED [ 58%] tests/test_06_math/test_609_point_on_line.py::test_distance_point_horiz_line PASSED [ 58%] tests/test_06_math/test_609_point_on_line.py::test_distance_point_vertical_line PASSED [ 58%] tests/test_06_math/test_609_point_on_line.py::test_is_point_on_horiz_line PASSED [ 58%] tests/test_06_math/test_609_point_on_line.py::test_is_point_on_vertical_line PASSED [ 58%] tests/test_06_math/test_609_point_on_line.py::test_is_point_on_diag_line PASSED [ 58%] tests/test_06_math/test_610_ocs.py::test_wcs_to_ocs PASSED [ 58%] tests/test_06_math/test_610_ocs.py::test_ocs_to_wcs PASSED [ 58%] tests/test_06_math/test_610_ocs.py::test_matrix44_to_ocs PASSED [ 58%] tests/test_06_math/test_610_ocs.py::test_matrix44_to_wcs PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_ucs_init PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_ucs_init_ux_uy PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_ucs_init_ux_uz PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_ucs_init_uy_uz PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_translation PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_rotation PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_matrix44_rotation PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_transformation PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_none_cartesian PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_arbitrary_ucs PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_ucs_direction_to_ocs_direction PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_to_ocs PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_points_to_ocs PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_to_ocs_angle_deg PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_constructor_functions PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_rotate_x_axis PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_rotate_y_axis PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_rotate_z_axis PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_rotate_local_x PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_rotate_local_y PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_rotate_local_z PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_shift_ucs PASSED [ 58%] tests/test_06_math/test_611_ucs.py::test_moveto PASSED [ 58%] tests/test_06_math/test_612_ucs_pass_trough.py::test_u_vectors PASSED [ 58%] tests/test_06_math/test_612_ucs_pass_trough.py::test_to_wcs PASSED [ 58%] tests/test_06_math/test_612_ucs_pass_trough.py::test_points_to_wcs PASSED [ 58%] tests/test_06_math/test_612_ucs_pass_trough.py::test_to_ocs PASSED [ 58%] tests/test_06_math/test_612_ucs_pass_trough.py::test_points_to_ocs PASSED [ 58%] tests/test_06_math/test_612_ucs_pass_trough.py::test_from_wcs PASSED [ 58%] tests/test_06_math/test_612_ucs_pass_trough.py::test_points_from_wcs PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_inside_horizontal_box PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_outside_horizontal_box PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_colinear_outside_horizontal_box PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_corners_horizontal_box PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_inside_slanted_box PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_outside_slanted_box PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_corners_slanted_box PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_borders_slanted_box_stable PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_shape_c_is_not_convex PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point8] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point8] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point9] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point10] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point11] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point12] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point13] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point14] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point0] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point1] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point2] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point3] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point4] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point5] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point6] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point7] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point8] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point0] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point1] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point2] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point3] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point4] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point5] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point6] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point7] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point0] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point1] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point2] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point3] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point4] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point5] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point6] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point7] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point8] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point9] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point10] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point11] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point12] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point13] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point14] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point0] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point1] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point2] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point3] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point4] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point5] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point6] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point7] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point8] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point0] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point1] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point2] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point3] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point4] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point5] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point6] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point7] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point0] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point1] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point2] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point3] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point4] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point5] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point6] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point7] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point8] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point9] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point10] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point11] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point12] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point13] PASSED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point14] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_face_count PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_regular_face PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_irregular_face PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_only_colinear_edges PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_regular_face_with_colinear_edge PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_does_not_detect_wrong_order PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_square_in_quads PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_square_in_triangles PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_triangle PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_ngons PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_vec2_square_in_quads PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_parallel_rays_return_empty_tuple PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_intersecting_rays_return_one_tuple PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_not_intersecting_and_not_parallel_rays_return_two_tuple PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_intersecting_rays PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_random_intersecting_rays PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_real_intersecting_lines PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_virtual_intersecting_lines PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_not_intersecting_lines PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_touching_lines_do_intersect PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_coincident_lines_do_not_intersect[horiz] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_coincident_lines_do_not_intersect[vert] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_coincident_lines_do_not_intersect[diag] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a0-b0-c0-r0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a1-b1-c1-r1] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a2-b2-c2-r2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a3-b3-c3-r3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a4-b4-c4-r4] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a5-b5-c5-r5] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_safe_normal_vector_regular PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_safe_normal_vector_for_coincident_vertices PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_safe_normal_vector_for_colinear_vertices PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_safe_normal_vector_raises_exception_for_undefined_normal_vector PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points0-3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points1-0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points2-4] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points3-5] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points4-0.8164965809277259] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[1e-99] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[1e-09] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[1000000000.0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[1e+99] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a0-b0-c0-r0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a1-b1-c1-r1] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a2-b2-c2-r2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a3-b3-c3-r3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a4-b4-c4-r4] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a5-b5-c5-r5] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_transformed_counter_clockwise_vertices_ccw PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_transformed_clockwise_vertices PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_basic_coords PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_center_of_mass_property PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_outside_triangle[p0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_outside_triangle[p1] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_outside_triangle[p2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_inside_triangle[p0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_inside_triangle[p1] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_inside_triangle[p2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[-1] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[1] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_works_if_start_is_equal_to_end PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q1[2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q1[3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q1[4] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q1[5] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q3[2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q3[3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q3[4] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q3[5] PASSED [ 60%] tests/test_06_math/test_615_rytz_axis.py::test_exception PASSED [ 60%] tests/test_06_math/test_615_rytz_axis.py::test_simple_case PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_init PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_init_form_3_colinear_points PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_init_form_3p PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_equal PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_init_form_vector PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_signed_distance_to PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_distance_to PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_is_coplanar PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_is_coplanar_plane PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestSplitConvexPolygon::test_spit_horizontal_square PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestSplitConvexPolygon::test_ignore_coplanar_square PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestSplitConvexPolygon::test_return_coplanar_square_front PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestSplitConvexPolygon::test_return_coplanar_square_back PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_intersection_line PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_line_above_plane PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_line_below_plane PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_colinear_start_point_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_ignore_coplanar_start_point_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_colinear_end_point_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_ignore_coplanar_end_point_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_coplanar_line_has_no_intersection PASSED [ 61%] tests/test_06_math/test_616_plane.py::TestIntersectRay::test_intersection_line PASSED [ 61%] tests/test_06_math/test_616_plane.py::TestIntersectRay::test_coplanar_ray_has_no_intersection PASSED [ 61%] tests/test_06_math/test_616_plane.py::TestIntersectRay::test_plane_parallel_to_yz PASSED [ 61%] tests/test_06_math/test_617_clockwise_orientation.py::test_has_clockwise_orientation[vertices0] PASSED [ 61%] tests/test_06_math/test_617_clockwise_orientation.py::test_has_clockwise_orientation[vertices1] PASSED [ 61%] tests/test_06_math/test_617_clockwise_orientation.py::test_has_counter_clockwise_orientation[vertices0] PASSED [ 61%] tests/test_06_math/test_617_clockwise_orientation.py::test_has_counter_clockwise_orientation[vertices1] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_no_clipping[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_regular_clip_inside_outside[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_regular_clip_outside_inside[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_horizontal_left_to_right[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_horizontal_right_to_left[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_vertical[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_diagonal[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_diagonal_edge_to_edge[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_horizontal_edge[polygon-bottom] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_horizontal_edge[polygon-top] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_vertical_edge[polygon-left] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_vertical_edge[polygon-right] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_no_clipping[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_regular_clip_inside_outside[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_regular_clip_outside_inside[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_horizontal_left_to_right[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_horizontal_right_to_left[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_vertical[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_diagonal[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_diagonal_edge_to_edge[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_horizontal_edge[rect-bottom] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_horizontal_edge[rect-top] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_vertical_edge[rect-left] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_vertical_edge[rect-right] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolylineAtConvexBoundary::test_crossing_zigzag[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolylineAtConvexBoundary::test_crossing_zigzag[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolylineAtConvexBoundary::test_closed_rectangle PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_do_overlap_clipping_rect[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_is_inside_rect[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_is_outside_rect[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_circle_outside_rect[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_circle_inside_rect[polygon] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_do_overlap_clipping_rect[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_is_inside_rect[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_is_outside_rect[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_circle_outside_rect[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_circle_inside_rect[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_clockwise_oriented_clipping_rect PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_rect_outside_circle PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_rect_inside_circle PASSED [ 61%] tests/test_06_math/test_618_clipping.py::test_imprecisions_in_edge_intersection PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_start_point_is_not_an_intersection_point PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_end_point_is_not_an_intersection_point PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_corner_point_is_not_an_intersection_point PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_vertical_line_does_intersect_skewed_line PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_horizontal_line_does_intersect_skewed_line PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_orthogonal_lines_do_intersect PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_parallel_vertical_lines_do_not_intersect PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_parallel_horizontal_lines_do_not_intersect PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_collinear_lines_do_not_intersect PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_coincident_lines_do_not_intersect[horiz] PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_coincident_lines_do_not_intersect[vert] PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_coincident_lines_do_not_intersect[diag] PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_virtual_intersection_is_not_an_intersection PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_issue_128 PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_issue_664 PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_overlapping_polygons_are_united PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_vertex_order_is_not_important PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_a_polygon_inside_another_polygon_is_ignored PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_a_failed_union_returns_an_empty_list PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_disconnected_polygons_cannot_be_united PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_overlapping_but_collinear_edges_cannot_be_united PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_polygons_with_a_shared_edge_cannot_be_united PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanDifference::test_difference_of_overlapping_polygons PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanDifference::test_polygon_inside_polygon PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanDifference::test_polygon_inside_polygon_reverse_difference PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanDifference::test_polygon_outside_polygon PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanIntersection::test_intersection_of_overlapping_polygons PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanIntersection::test_polygon_inside_polygon PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanIntersection::test_polygon_outside_polygon PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::test_issue_1094_is_inside_polygon_function_was_incorrect PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_open_uniform_knot_order_2 PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_open_uniform_knot_order_3 PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_open_uniform_knot_order_4 PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_uniform_knot_order_2 PASSED [ 62%] tests/test_06_math/test_620_knot.py::test_uniform_knot_order_3 PASSED [ 62%] tests/test_06_math/test_620_knot.py::test_uniform_knot_order_4 PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_is_clamped PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_is_a_clamped_bspline[knots0] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_is_a_clamped_bspline[knots1] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[no repetitive knot values] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[2 repetitive knot values] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[3 repetitive knot values] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[inaccuracy at the end] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[inaccuracy at the start] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_normalize_knots PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_normalize_knots_if_needed PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_bspline_insert_knot PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_transform_interface PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_bezier_decomposition PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_cubic_bezier_approximation PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_subdivide_params PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_weired_closed_spline PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_bezier_decomposition_issue PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_flattening PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_bspline_point_calculation_to_pre_calculated_results[degree=1] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_bspline_point_calculation_to_pre_calculated_results[degree=2] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_bspline_point_calculation_to_pre_calculated_results[degree=3] PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_bspline_derivative_calculation_to_pre_calculated_results PASSED [ 62%] tests/test_06_math/test_621_bspline.py::test_bspline_point_calculation_against_derivative_calculation PASSED [ 62%] tests/test_06_math/test_622_bsplineu.py::test_bsplineu_points PASSED [ 62%] tests/test_06_math/test_622_bsplineu.py::test_dbsplineu_points PASSED [ 62%] tests/test_06_math/test_622_bsplineu.py::test_dbsplineu_derivative_1 PASSED [ 62%] tests/test_06_math/test_622_bsplineu.py::test_dbsplineu_derivative_2 PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_rbspline PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_rbsplineu PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_rational_spline_from_circular_arc_has_expected_parameters PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_rational_spline_from_circular_arc_has_same_end_points PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_rational_spline_from_elliptic_arc_has_expected_parameters PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_rational_spline_from_elliptic_arc_has_same_end_points PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_nurbs_arc_parameter_quarter_arc_1_segment PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_nurbs_arc_parameter_quarter_arc_4_segments PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_nurbs_arc_parameter_full_circle PASSED [ 62%] tests/test_06_math/test_623_rbspline.py::test_flattening_issue PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_uniform_t_array[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_uniform_t_array[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_chord_length_t_array[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_chord_length_t_array[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_centripetal_length_t_array[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_centripetal_length_t_array[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_arc_distances PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_arc_length_t_array[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_arc_length_t_array[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_invalid_order_count_combination PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[average-2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[average-3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[average-4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[natural-2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[natural-3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[natural-4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_averaged_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_averaged_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_averaged_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_averaged_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_averaged_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_averaged_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_averaged_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_averaged_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_natural_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_natural_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_natural_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_natural_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_natural_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_natural_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_natural_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_natural_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_double_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_double_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_double_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_double_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_bspline_interpolation[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_bspline_interpolation[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_create_t_vectors_for_identical_points[distance] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_create_t_vectors_for_identical_points[centripetal] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_create_t_vectors_for_identical_points[arc] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_bspline_interpolation_first_derivatives[fit_points0] PASSED [ 63%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_bspline_interpolation_first_derivatives[fit_points1] PASSED [ 63%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_check_values PASSED [ 63%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_cad_fit_point_interpolation_for_2_points PASSED [ 63%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_cad_fit_point_interpolation_for_5_points PASSED [ 63%] tests/test_06_math/test_626_local_bspline_interpolation.py::test_estimate_tangents_3p PASSED [ 63%] tests/test_06_math/test_626_local_bspline_interpolation.py::test_estimate_tangents_5p PASSED [ 63%] tests/test_06_math/test_626_local_bspline_interpolation.py::test_local_cubic_bspline_interpolation_from_tangents PASSED [ 63%] tests/test_06_math/test_626_local_bspline_interpolation.py::test_local_cubic_bspline_interpolation PASSED [ 63%] tests/test_06_math/test_627_bspline_basis.py::test_property_exists[Basis] PASSED [ 63%] tests/test_06_math/test_627_bspline_basis.py::test_bspline_basis_vector[Basis] PASSED [ 63%] tests/test_06_math/test_627_bspline_basis.py::test_find_span[Basis] PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_points_2d PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_bezier_objects_are_immutable PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_point_and_tangent_2d PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_points_3d PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_points PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_derivative_1 PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_derivative_2 PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_reverse PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_transform_interface PASSED [ 63%] tests/test_06_math/test_629_bezier.py::test_flattening PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_accepts_2d_points[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_accepts_2d_points[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_objects_are_immutable[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_objects_are_immutable[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_2d_tangent_computation[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_2d_tangent_computation[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_approximate[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_approximate[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_reverse[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_reverse[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_transform_interface[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_transform_interface[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_transform_returns_always_3d_curves[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_transform_returns_always_3d_curves[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_for_equal_start_and_end_points[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_for_equal_start_and_end_points[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_with_large_elevation[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_with_large_elevation[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_for_equal_start_and_end_points_large_elevation[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_for_equal_start_and_end_points_large_elevation[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-1e+99] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-1e+79] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-1e+59] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-1e+39] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-1e+19] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-1000000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-1000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-1000] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0-0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0--1e+99] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0--1e+79] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0--1e+59] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0--1e+39] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0--1e+19] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0--1000000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0--1000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P0--1000] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-1e+99] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-1e+79] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-1e+59] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-1e+39] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-1e+19] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-1000000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-1000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-1000] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1-0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1--1e+99] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1--1e+79] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1--1e+59] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1--1e+39] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1--1e+19] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1--1000000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1--1000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P1--1000] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_pickle_support[Bezier4P0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_pickle_support[Bezier4P1] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_cubic_bezier_arc_parameters_computation[cubic_bezier_arc_parameters0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_cubic_bezier_arc_parameters_computation[cubic_bezier_arc_parameters1] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_from_circular_arc[cubic_bezier_from_arc0] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_from_circular_arc[cubic_bezier_from_arc1] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_from_circular_full_arc[cubic_bezier_from_arc0] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_from_circular_full_arc[cubic_bezier_from_arc1] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_from_simple_elliptic_arc[cubic_bezier_from_ellipse0] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_from_simple_elliptic_arc[cubic_bezier_from_ellipse1] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_from_complex_elliptic_arc[cubic_bezier_from_ellipse0] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_from_complex_elliptic_arc[cubic_bezier_from_ellipse1] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_arc_params_issue_708[cubic_bezier_arc_parameters0] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_arc_params_issue_708[cubic_bezier_arc_parameters1] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_ellipse_issue_708[cubic_bezier_from_ellipse0] PASSED [ 64%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_ellipse_issue_708[cubic_bezier_from_ellipse1] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_vertex_interpolation PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_invalid_bezier_interpolation PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_quadratic_to_cubic_bezier PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_g1_continuity_for_bezier_curves PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_g1_continuity_for_degenerated_bezier_curves PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_flatten_degenerated_bezier_curves[curve0] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_flatten_degenerated_bezier_curves[curve1] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_bezier_curves_to_bspline[G1] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_bezier_curves_to_bspline[without G1] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_bezier_curves_to_bspline[gap] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_quality_of_bezier_to_bspline_conversion_1 PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_quality_of_bezier_to_bspline_conversion_2 PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_bezier_curves_to_bspline_error PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestSplitBezier::test_t_validation[-1] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestSplitBezier::test_t_validation[2] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestSplitBezier::test_control_point_validation PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestSplitBezier::test_split_cubic_bezier PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_quadratic_bezier_from_3_points PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::test_cubic_bezier_from_3_points PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_linear_curve PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_reverse_linear_curve PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_cubic_bezier_curve_with_one_extrema PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_cubic_bezier_curve_with_two_extrema PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_closed_3d_cubic_bezier_curve PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_quadratic_bezier_curve_box PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_no_intersection PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_one_intersection_point PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_two_intersection_points PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_three_intersection_points PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_collinear_ray_and_curve PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_linear_ray_and_curve[0] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_linear_ray_and_curve[0.5] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_linear_ray_and_curve[1] PASSED [ 64%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_linear_ray_and_curve[3] PASSED [ 64%] tests/test_06_math/test_631_euler_spiral.py::test_approximate PASSED [ 64%] tests/test_06_math/test_631_euler_spiral.py::test_radius PASSED [ 64%] tests/test_06_math/test_631_euler_spiral.py::test_tangent PASSED [ 64%] tests/test_06_math/test_631_euler_spiral.py::test_distance PASSED [ 64%] tests/test_06_math/test_631_euler_spiral.py::test_circle_midpoint PASSED [ 64%] tests/test_06_math/test_631_euler_spiral.py::test_as_bspline PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_accepts_2d_points[Bezier3P0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_accepts_2d_points[Bezier3P1] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_objects_are_immutable[Bezier3P0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_objects_are_immutable[Bezier3P1] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_approximate[Bezier3P0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_approximate[Bezier3P1] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_first_derivative[Bezier3P0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_first_derivative[Bezier3P1] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_reverse_points[Bezier3P0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_reverse_points[Bezier3P1] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_transformation_interface[Bezier3P0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_transformation_interface[Bezier3P1] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_transformation_returns_always_3d_curves[Bezier3P0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_transformation_returns_always_3d_curves[Bezier3P1] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening[Bezier3P0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening[Bezier3P1] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-1e+99] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-1e+79] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-1e+59] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-1e+39] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-1e+19] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-1000000000.0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-1000000.0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-1000] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0-0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0--1e+99] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0--1e+79] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0--1e+59] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0--1e+39] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0--1e+19] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0--1000000000.0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0--1000000.0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P0--1000] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-1e+99] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-1e+79] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-1e+59] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-1e+39] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-1e+19] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-1000000000.0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-1000000.0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-1000] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1-0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1--1e+99] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1--1e+79] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1--1e+59] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1--1e+39] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1--1e+19] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1--1000000000.0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1--1000000.0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P1--1000] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_approximated_length[Bezier3P0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_approximated_length[Bezier3P1] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_pickle_support[Bezier3P0] PASSED [ 65%] tests/test_06_math/test_632_bezier3p.py::test_pickle_support[Bezier3P1] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_init PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_init_none PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_init_empty_list PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v0] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v1] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v2] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v3] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v4] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_not_is_empty PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_init_with_with_empty_list PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_inside PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_all_inside PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_any_inside PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_has_overlap_accepts_2d_bounding_box PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_has_intersection_accepts_2d_bounding_box PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_do_intersect_and_overlap PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_do_not_intersect_or_overlap PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_do_not_intersect_or_overlap_empty PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_crossing_2d_boxes PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_crossing_3d_boxes PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_touching_2d_boxes PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_touching_3d_boxes PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_extend PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_extend_by_empty_list PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_extend_by_bbox PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_size PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_center PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_of_two_bounding_boxes PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_bbox_with_empty_bbox PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_empty_bbox_with_bbox PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_empty_bounding_boxes PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_different_bounding_boxes PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_rect_vertices_for_empty_bbox_raises_value_error PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_cube_vertices_for_empty_bbox_raises_value_error PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_rect_vertices_returns_vertices_in_counter_clockwise_order PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_cube_vertices_returns_vertices_in_counter_clockwise_order PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_contains_other_bounding_box PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_growing_empty_bounding_box_does_nothing PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_grow_bounding_box PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_shrinking_to_zero_or_below_raises_exception PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_init PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_init_with_with_empty_list PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_init_none PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v0] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v1] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v2] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v3] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v4] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_not_is_empty PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_inside PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_extend PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_size PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_center PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_rect_vertices_for_empty_bbox_raises_value_error PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_rect_vertices_returns_vertices_in_counter_clockwise_order PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_contains_other_bounding_box PASSED [ 65%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_2d_box_contains_3d_box PASSED [ 66%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_3d_box_contains_2d_box PASSED [ 66%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_grow_bounding_box PASSED [ 66%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_has_overlap_accepts_3d_bounding_box PASSED [ 66%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_has_intersection_accepts_3d_bounding_box PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_accept_3d_box PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_empty_box_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_no_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_touches_at_one_corner PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_half_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_multiple_intersections[v10-v20] PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_multiple_intersections[v11-v21] PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_multiple_intersections[v12-v22] PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_full_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_smaller_inside_bigger_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_intersection_box_without_an_area_is_empty PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_accept_3d_box PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_empty_box_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_no_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_touches_at_one_corner PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_half_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_multiple_intersections[v10-v20] PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_multiple_intersections[v11-v21] PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_multiple_intersections[v12-v22] PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_full_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_smaller_inside_bigger_intersection PASSED [ 66%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_intersection_box_without_a_volume_is_empty PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_init_with_angle PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_Ray2D_get_x_y PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_intersect PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_parallel PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_intersect_with_vertical PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_intersect_with_horizontal PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_intersect_with_vertical_and_horizontal PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_parallel_vertical PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_normal_vertical PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_normal PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_normal_horizontal PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_angle PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_bisectrix PASSED [ 66%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_two_close_horizontal_rays PASSED [ 66%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_is_vertical PASSED [ 66%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_left_of_line PASSED [ 66%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_intersect_horizontal_line PASSED [ 66%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_intersect_vertical_line PASSED [ 66%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_bounding_box PASSED [ 66%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_translate PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_defaults PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_init PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_from_points PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_init_angle_90 PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_set_center PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_set_width PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_set_height PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_incircle_radius PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_circum_circle_radius PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_set_angle PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_translate PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_expand PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_scale PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_intersect_0 PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_intersect_1 PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_intersect_2 PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_is_inside_horiz_box PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_is_inside_rotated_box PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_any_corner_inside PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_overlapping_boxes PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_overlapping_crossing_boxes PASSED [ 66%] tests/test_06_math/test_643_construction_box.py::test_issue_2020_01_30 PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_init_circle PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_within PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_tangent PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_ray_pass PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_ray_touch PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_vertical_ray PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_horizontal_ray PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_diagonal_ray PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_diagonal_ray_through_mid_point PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_horizontal_ray_through_mid_point PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_vertical_ray_through_mid_point PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_circles_do_not_intersect PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center0-point0] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center1-point1] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center2-point2] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center3-point3] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center4-point4] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center5-point5] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center6-point6] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center7-point7] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_circle_intersect PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_inner_circle_touches_outer_circle_issue_982[outer circle right of inner circle] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_inner_circle_touches_outer_circle_issue_982[outer circle left of inner circle] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_inner_circle_touches_outer_circle_issue_982[outer circle above of inner circle] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_inner_circle_touches_outer_circle_issue_982[outer circle below of inner circle] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_vertices PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_flattening PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_create_3P PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_no_point[start0-end0] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_no_point[start1-end1] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_no_point[start2-end2] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_no_point[start3-end3] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_one_point[start0-end0] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_one_point[start1-end1] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_one_point[start2-end2] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start0-end0] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start1-end1] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start2-end2] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start3-end3] PASSED [ 67%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start4-end4] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_from_2p_angle_complex PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_from_2p_angle_simple PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_from_2p_radius PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_from_3p PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_spatial_arc_from_3p PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_bounding_box PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_angles PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_vertices PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_tangents PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_angle_span PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_segment_count PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-0-180-0.35-3] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-0-180-0.1-5] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_flattening[0-0-360-0.1-0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_flattening[-1-0-180-0.35-3] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-270-90-0.1-5] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-90--90-0.1-5] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-0-0-0.1-0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1--45--45-0.1-0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p1] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p2] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p3] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p4] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_point_is_not_in_arc_range[p0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_point_is_not_in_arc_range[p1] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_point_is_not_in_arc_range[p2] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s0-e0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s1-e1] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s2-e2] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s3-e3] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s4-e4] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s5-e5] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_two_points[s0-e0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_two_points[s1-e1] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_line[s0-e0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_line[s1-e1] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_line[s2-e2] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_one_point[c0-1.0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_one_point[c1-0.5] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_one_point[c2-1.0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_two_points[c0-1.0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_two_points[c1-1.0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_circle[c0-0.5] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_circle[c1-1.0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_circle[c2-2.0] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_circle[c3-0.5] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_arc_in_one_point[c0-1.0-90-270] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_arc_in_one_point[c1-1.0-90-180] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_arc_in_two_points[c0-1.0-90-270] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_arc_in_two_points[c1-1.0-90-270] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_arc[c0-1.0-90-270] PASSED [ 67%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_arc[c1-1.0-90-270] PASSED [ 67%] tests/test_06_math/test_646_offset_vertices_2d.py::test_0_offset PASSED [ 67%] tests/test_06_math/test_646_offset_vertices_2d.py::test_2_horiz_vertices_left_offset PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_2_horiz_vertices_right_offset PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_2_vert_vertices_left_offset PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_2_vert_vertices_right_offset PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_3_horiz_collinear_vertices PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_3_vert_collinear_vertices PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_3_vertices PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_closed_square_inside PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_closed_triangle_inside PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_closed_shape_with_collinear_last_segment PASSED [ 68%] tests/test_06_math/test_646_offset_vertices_2d.py::test_3_horiz_collinear_vertices_closed PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::test_transform_angle_without_ocs PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::test_transform_length_without_ocs PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_no_transformation[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_no_transformation[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_no_transformation[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_axis[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_axis[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_axis[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_axis[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_axis[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_axis[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_z_axis[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_z_axis[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_z_axis[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_y_axis[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_y_axis[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_y_axis[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_z_axis[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_z_axis[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_z_axis[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_and_z_axis[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_and_z_axis[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_and_z_axis[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_y_and_z_axis[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_y_and_z_axis[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_y_and_z_axis[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_no_transformation[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_no_transformation[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_no_transformation[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_uniform_scaling_for_all_axis[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_uniform_scaling_for_all_axis[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_uniform_scaling_for_all_axis[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_x_scaling[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_x_scaling[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_x_scaling[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_y_scaling[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_y_scaling[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_y_scaling[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_x[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_x[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_x[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_y[-2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_y[0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_y[2] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-0_0] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-360] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-0_1] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0--90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0--180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-0_0] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-360] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-0_1] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0--90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0--180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-0_0] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-360] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-0_1] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0--90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0--180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-0_0] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-360] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-0_1] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0--90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0--180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-0_0] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-180] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-360] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-0_1] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0--90] PASSED [ 71%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0--180] PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_default_init PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_dxfattribs PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_get_start_and_end_vertex PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_from_arc PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_swap_axis_full_ellipse PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_swap_axis_half_ellipse PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_swap_axis_arbitrary_params PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_params PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_angle_to_param PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_vertices PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_tangents PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_params_from_vertices_random PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_to_ocs PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[0-180-0.35-3] PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[0-180-0.1-5] PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[270-90-0.1-5] PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[90--90-0.1-5] PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[0-0-0.1-0] PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[-45--45-0.1-0] PASSED [ 71%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening_ellipse PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[0-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-90--90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-180--180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[270-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-270--270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[360-360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-360--360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[720-720] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-720--720] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[0-360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[360-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[-360-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[0--360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[90-450] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[180-540] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[180--180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[-180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[90--270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[-90-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[0-90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[0--90-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[0-180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[0--180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[180-360-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-180--360-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-90-360-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[90--360-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-90--360-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[90-360-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[360-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[360--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-360-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-360--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[30--30-300] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-30-30-60] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[90--90-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-90-90-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[360-400-40] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[400-360-320] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[0-0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-90--90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-180--180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[270-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-270--270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[360-360] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-360--360] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[720-720] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-720--720] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[0-360] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[360-0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[-360-0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[0--360] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[90-450] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[180-540] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[180--180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[-180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[90--270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[-90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[0-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[0--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[0-180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[0--180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[180-360-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-180--360-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-90-360-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[90--360-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-90--360-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[90-360-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[360-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[360--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-360-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-360--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[30--30-300] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-30-30-60] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[90--90-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-90-90-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[360-400-40] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[400-360-320] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[0-0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-90--90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-180--180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[270-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-270--270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[360-360] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-360--360] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[720-720] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-720--720] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[0-360] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[360-0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[-360-0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[0--360] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[90-450] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[180-540] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[180--180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[-180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[90--270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[-90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[0-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[0--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[0-180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[0--180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[180-360-180] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-180--360-180] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-90-360-90] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[90--360-270] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-90--360-90] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[90-360-270] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[360-90-90] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[360--90-270] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-360-90-90] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-360--90-270] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[30--30-300] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-30-30-60] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[90--90-180] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-90-90-180] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[360-400-40] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[400-360-320] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[0-0_0] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[3.141592653589793-3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[6.283185307179586-6.283185307179586] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[0-0_1] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[-3.141592653589793--3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[-6.283185307179586--6.283185307179586] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[0-6.283185307179586] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[6.283185307179586-0] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[3.141592653589793--3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[0--6.283185307179586] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[-6.283185307179586-0] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[-3.141592653589793-3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[0-1.5707963267948966-1.5707963267948966] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[1.5707963267948966-0-4.71238898038469] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[1.5707963267948966-3.141592653589793-1.5707963267948966] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[1.5707963267948966--1.5707963267948966-3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[3.141592653589793-0-3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[0-3.141592653589793-3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[0--1.5707963267948966-4.71238898038469] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[-1.5707963267948966-0-1.5707963267948966] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[-1.5707963267948966--3.141592653589793-4.71238898038469] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[-1.5707963267948966-1.5707963267948966-3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[-3.141592653589793-0-3.141592653589793] PASSED [ 73%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[0--3.141592653589793-3.141592653589793] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_empty_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_len_open_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_len_closed_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_get_single_vertex PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_get_last_vertex PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_get_vertex_slice PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_vertex_slice_has_same_type PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_is_immutable PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_empty_polyline_raises_Value_error PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_0 PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_1 PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_2 PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_3 PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_for_negative_index PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_vertices_at_the_same_location PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_raises_index_error PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestLength::test_empty_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestLength::test_open_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestLength::test_closed_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestLength::test_vertices_at_the_same_location PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIsClosed::test_empty_polyline_is_not_closed PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIsClosed::test_polyline_with_too_few_vertices_is_not_closed PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIsClosed::test_poly1_is_not_closed PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIsClosed::test_poly2_is_closed PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_empty_polyline[-1] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_empty_polyline[0] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_empty_polyline[1] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_polyline_with_one_vertex[-1] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_polyline_with_one_vertex[0] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_polyline_with_one_vertex[1] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_short_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_long_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_empty_polyline_raises_error PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_too_few_vertices_raises_error PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_out_of_range_raises_error PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolation_at_vertex_location PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolate_last_vertex_of_closed_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolate_at_first_edge PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolate_at_second_edge PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolation_for_coincident_vertices_in_front PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolation_for_coincident_vertices_after PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolation_for_coincident_vertices_between PASSED [ 74%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_raises_error_invalid_count[-1] PASSED [ 74%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_raises_error_invalid_count[0] PASSED [ 74%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_raises_error_invalid_count[1] PASSED [ 74%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_divide_by_3 PASSED [ 74%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_divide_by_length PASSED [ 74%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_divide_by_length_force_last_vertex PASSED [ 74%] tests/test_06_math/test_651_construction_polyline.py::TestApproximationAccuracy::test_unit_circle PASSED [ 74%] tests/test_06_math/test_651_construction_polyline.py::TestApproximationAccuracy::test_unit_circle_by_path PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestGenericFeatures::test_access_to_construction_polyline PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestGenericFeatures::test_get_max_t PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestQuadraticBezier::test_start_param PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestQuadraticBezier::test_end_param PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestQuadraticBezier::test_certain_distance PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestCubicBezier::test_start_param PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestCubicBezier::test_end_param PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestCubicBezier::test_certain_distance PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestCubicSpline::test_max_t_is_not_1 PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestCubicSpline::test_start_param PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestCubicSpline::test_end_param PASSED [ 74%] tests/test_06_math/test_652_approx_param_t.py::TestCubicSpline::test_certain_distance PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_single_segments PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_none_intersecting_single_segments PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_cross PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_x_cross PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_zig_zag_lines PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_zig_zag_lines_with_common_vertices PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_complex_ellipse_with_spline_intersection PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_squares PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_squares_with_common_corner_vertex PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_coincident_common_segment PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_coincident_common_last_segment PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_coincident_common_intermediate_segment PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines3d::test_intersecting_single_segments PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines3d::test_intersecting_single_vertical_segment PASSED [ 74%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines3d::test_none_intersecting_single_segments PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_can_not_build_empty_tree PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_from_one_point PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_contains_point PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_iter_tree PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_from_two_points PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_store_duplicate_points PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_setup_is_correct PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_known_point_is_present[point0] PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_known_point_is_present[point1] PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_known_point_is_present[point2] PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_contains_all_random_points PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_nearest_neighbor[n0-point0] PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_nearest_neighbor[n1-point1] PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_nearest_neighbor[n2-point2] PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_find_points_in_sphere PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_find_points_in_bbox PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_iter_tree PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_avg_spherical_envelope_radius PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_avg_leaf_size PASSED [ 74%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_avg_nn_distance PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_Vec2_compatibility PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_split_strategies[box_split] PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_collect_leafs PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_average_leaf_size_of_random_points PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_avg_spherical_envelope_radius_of_random_points PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_avg_nn_distance_of_random_points PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_avg_methods_return_0_for_too_small_trees PASSED [ 74%] tests/test_06_math/test_654_rtree.py::test_spherical_envelope PASSED [ 74%] tests/test_06_math/test_655_dbscan.py::test_two_simple_cluster PASSED [ 74%] tests/test_06_math/test_655_dbscan.py::test_cluster_noise PASSED [ 74%] tests/test_06_math/test_656_k_means.py::test_cluster_random_points[4] PASSED [ 74%] tests/test_06_math/test_656_k_means.py::test_cluster_random_points[5] PASSED [ 74%] tests/test_06_math/test_656_k_means.py::test_cluster_random_points[6] PASSED [ 74%] tests/test_06_math/test_656_k_means.py::test_measure_average_cluster_radius PASSED [ 74%] tests/test_06_math/test_656_k_means.py::test_measure_average_intra_cluster_distance PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_ccw_square[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_ccw_square[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_cw_square[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_cw_square[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_concave_gear_shape[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_concave_gear_shape[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_square_hole[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_square_hole[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_two_holes[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_two_holes[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_steiner_point[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_steiner_point[Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_empty_exterior[CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_empty_exterior[Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_empty_holes[CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_empty_holes[Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Star-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Star-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Simple Diamond-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Simple Diamond-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[No Concave Vertex-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[No Concave Vertex-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Slanted Side-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Slanted Side-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[New Thing-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[New Thing-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 1-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 1-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 2-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 2-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 3-A-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 3-A-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 3-B-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 3-B-Cython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 4-CPython] PASSED [ 75%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 4-Cython] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_returns_zero_for_invalid_input[Radius = 0] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_returns_zero_for_invalid_input[colinear directions] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_returns_zero_for_invalid_input[opposite colinear directions] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[1.0-ax10-ax20] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[1.0-ax11-ax21] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[1.0-ax12-ax22] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[1.0-ax13-ax23] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-1.0-ax10-ax20] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-1.0-ax11-ax21] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-1.0-ax12-ax22] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-1.0-ax13-ax23] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[2.0-ax10-ax20] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[2.0-ax11-ax21] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[2.0-ax12-ax22] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[2.0-ax13-ax23] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-2.0-ax10-ax20] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-2.0-ax11-ax21] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-2.0-ax12-ax22] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-2.0-ax13-ax23] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_45_deg_direction PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::test_bending_angle PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_requires_three_points PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_colinear_points_are_ignored[180deg] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_colinear_points_are_ignored[360deg] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_one_chamfer PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_two_chamfers PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_requires_three_points PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_colinear_points_are_ignored[180deg] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_colinear_points_are_ignored[360deg] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_one_chamfer PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_two_chamfers PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_requires_three_points PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_colinear_points_are_ignored[180deg] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_colinear_points_are_ignored[360deg] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_points_for_45_deg PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_points_for_135_deg PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_requires_three_points PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_colinear_points_are_ignored[180deg] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_colinear_points_are_ignored[360deg] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[0-3] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[1-3] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[4-3] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[16-6] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[32-10] PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_polygon_with_invalid_normal PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_intersection_point_inside PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_intersection_point_at_boundary_line PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_ignore_intersection_point_at_boundary_line PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_ignore_coplanar_start_point_as_intersection_point PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_ignore_coplanar_end_point_as_intersection_point PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_intersection_point_outside PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_ignore_coplanar_line PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_polygon_with_invalid_normal PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_intersection_point_inside PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_intersection_point_at_boundary_line PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_ignore_intersection_point_at_boundary_line PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_intersection_point_outside PASSED [ 76%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_ignore_coplanar_ray PASSED [ 76%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_cube_with_ccw_vertex_orientation PASSED [ 76%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_cube_with_clockwise_vertex_orientation PASSED [ 76%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_torus_with_ccw_vertex_orientation PASSED [ 76%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_torus_with_clockwise_vertex_orientation PASSED [ 76%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_flipped_cone PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_open_triangle PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_closed_triangle PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_open_square PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_closed_square PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_irregular_polygons[polygon0] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_irregular_polygons[polygon1] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_irregular_polygons[polygon2] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_two_colinear_edges PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_strict_mode_for_two_colinear_edges PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_all_colinear_edges PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_some_coincident_vertices PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_all_coincident_vertices PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_regular_convex_ngons[3] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_regular_convex_ngons[4] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_regular_convex_ngons[11] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_star_is_concave[4] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_star_is_concave[5] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_star_is_concave[11] PASSED [ 76%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_concave_quadrilateral PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points0] PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points1] PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points2] PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points3] PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points4] PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points5] PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_not_aligned_rectangle[points0] PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_not_aligned_rectangle[points1] PASSED [ 76%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_not_aligned_rectangle[points2] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point0] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point1] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point2] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point3] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point4] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point5] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point6] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point7] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point8] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point0] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point1] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point2] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point3] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point4] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point5] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point6] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point7] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point8] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point9] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point10] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point11] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point12] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point13] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point14] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_and_b_outside_no_intersections_v PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_and_b_outside_no_intersections_h PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_and_b_inside_no_intersections_h PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_outside_b_inside_1_intersection_v PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_outside_b_inside_1_intersection_h PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_inside_b_outside_1_intersection_v PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_inside_b_outside_1_intersection_h PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_outside_b_outside_2_intersections PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_outside_b_inside_3_intersections PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_inside_b_outside_3_intersections PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_intersection_at_vertex_outside_inside PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_touches_vertex_outside_outside PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_touches_vertex_inside_inside PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_is_colinear_to_outer_edge PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_is_colinear_to_inner_edge PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_is_colinear_to_inner_edge_reverse PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_is_equal_to_edge PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_outside PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_inside_no_intersection PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_inside_with_intersection PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_crossing_border PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_along_the_border_1 PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_along_the_border_2 PASSED [ 77%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_too_few_vertices[#0] PASSED [ 77%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_too_few_vertices[#1] PASSED [ 77%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_too_few_vertices[#2] PASSED [ 77%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_too_few_vertices[#3] PASSED [ 77%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_polygon_inside_no_intersection PASSED [ 77%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_polygon_outside_no_intersection XFAIL [ 77%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_polygon_inside_with_intersection PASSED [ 77%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_polygon_colinear_edges PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_find_closest_vertices[lower-left] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_find_closest_vertices[lower-right] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_find_closest_vertices[upper-right] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_find_closest_vertices[upper-left] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_make_inverted_clipping_polygon PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_inside_polygon[point0] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_inside_polygon[point1] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_inside_polygon[point2] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_inside_polygon[point3] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point0] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point1] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point2] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point3] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point4] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point5] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point6] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point7] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point8] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_basic_clipping PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_is_point_inside_inverted_polygon PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_connection_line_create_intersection_point[outside, outside] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_connection_line_create_intersection_point[border, border] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_connection_line_create_intersection_point[inside, inside] PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_line_touches_vertex_at_coincident_edge PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_line_touches_vertex_inside_inside PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_colinear_line PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestPolygonClipping::test_polygon_outside PASSED [ 77%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestPolygonClipping::test_polygon_clipping PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg0-coords0] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg1-coords1] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg2-coords2] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg3-coords3] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg4-coords4] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg0-coords0] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg1-coords1] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg2-coords2] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg3-coords3] PASSED [ 77%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg4-coords4] PASSED [ 77%] tests/test_07_render/test_701_arrows.py::test_filled_solid_arrow PASSED [ 77%] tests/test_07_render/test_701_arrows.py::test_arrow_name PASSED [ 77%] tests/test_07_render/test_701_arrows.py::test_closed_arrow_doc_r12 PASSED [ 77%] tests/test_07_render/test_701_arrows.py::test_closed_arrow_doc_r2000 PASSED [ 77%] tests/test_07_render/test_701_arrows.py::test_render_arrow PASSED [ 77%] tests/test_07_render/test_701_arrows.py::test_virtual_entities PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_circle_open PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_circle_closed PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_close_polygon PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_close_polygon_without_doublets PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_close_circle PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_square PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_box PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_open_arrow PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_closed_arrow PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_cube PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude::test_extrude_without_caps PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude::test_extrude_open_profiles_with_caps PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude::test_extrude_with_caps PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_from_profiles_linear PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_cylinder PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_spline_interpolation PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_spline_interpolated_profiles PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_from_profiles_splines PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_cone PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_rotation_form PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_translate PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_scale PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_rotate PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_square_by_radius PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_heptagon_by_edge_length PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_closed_torus_ngon_faces PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_open_torus_ngon_faces PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_major_radius_is_bigger_than_minor_radius[2] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_major_radius_is_bigger_than_minor_radius[1] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_major_radius_is_bigger_than_minor_radius[-2] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_major_radius_is_bigger_than_zero PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_minor_radius_is_bigger_than_zero PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::test_intersection_profiles PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_z_in_x_axis PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_z_in_z_axis_raise_exception[n0] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_z_in_z_axis_raise_exception[n1] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_ext_preserve_x PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_ext_preserve_y PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_divide_path_count PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_divide_path_vertices PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_divide_path_into_equally_spaced_segments PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_divide_path_has_to_include_all_source_vertices PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_partial_path_factors PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_extrude_square_without_intermediate_profiles PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_extrude_square_with_intermediate_profiles PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_extrude_with_twist PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_extrude_with_scale PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::test_helix_positive_pitch_goes_up[True] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::test_helix_positive_pitch_goes_up[False] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::test_helix_negative_pitch_goes_down[True] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::test_helix_negative_pitch_goes_down[False] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::test_turtle_turn_left PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::test_turtle_turn_right PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::test_turtle_move_relative PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_default_arguments PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_cylinder_height_of_0_raises_value_error PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[arbitrary] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[+z axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[-z axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[+x axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[-x axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[+y axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[-y axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_final_location_for_negative_z_axis PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_default_arguments PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_cylinder_height_of_0_raises_value_error PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[arbitrary] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[+z axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[-z axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[+x axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[-x axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[+y axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[-y axis] PASSED [ 78%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_final_location_for_negative_z_axis PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_vertex_merger_indices PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_vertex_merger_vertices PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_vertex_merger_index_of PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_average_vertex_merger_indices PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_average_vertex_merger_vertices PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_average_vertex_merger_index_of PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_mesh_builder PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_vertex_merger PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_average_vertex_merger PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_has_none_planar_faces PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_scale_mesh PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_rotate_x PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_mesh_bounding_box PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_get_face_vertices PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_index_error_for_getting_face_vertices PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_get_face_normal PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_empty_mesh_is_not_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_single_face_mesh_is_not_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cube_is_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_is_watertight_can_not_detect_vertex_orientation_errors PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_edge_balance_of_closed_surface_is_not_broken PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_edge_balance_of_wrong_oriented_faces_is_broken PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_edge_balance_of_doubled_faces_is_broken PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_total_edge_count_of_closed_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cube_of_separated_faces_is_not_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cylinder_is_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_surface_normals_pointing_outwards[cube] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_surface_normals_pointing_outwards[cylinder] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_surface_normals_pointing_outwards[cone] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_surface_normals_pointing_outwards[sphere] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cylinder_with_reversed_cap_normals PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cube_is_manifold PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_mesh_bounding_box PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_regular_open_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_regular_cube_has_closed_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_multiple_cubes_have_closed_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cube_with_reversed_face_has_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_non_manifold_cube_has_not_a_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_get_face_normals PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_flipped_cube_normals_pointing_inwards PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_from_empty_polyface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_from_cube_polyface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_render_polyface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_render_3dsolid PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_from_polymesh PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_from_polyface_type_error PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_from_polyface_182_1 PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_from_polyface_182_2 PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_mesh_subdivide PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_debug_coplanar_faces PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_merge_coplanar_faces PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_merge_disk PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_merge_coplanar_faces_in_two_passes PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_non_connected_paths[p0] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_non_connected_paths[p1] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_non_connected_paths[p2] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connected_squares_same_orientation PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connected_squares_different_orientation PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connected_rect_same_orientation PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_complex_shape PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connected_by_one_vertex PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connection_error[p20] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connection_error[p21] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connection_error[p22] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_merge_multiple_paths PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_degenerated_path PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_simple_cases_without_action[v0] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_simple_cases_without_action[v1] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_simple_cases_without_action[v2] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_in_between_vertices[v0] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_in_between_vertices[v1] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_duplicated_vertices[v0] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_duplicated_vertices[v1] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_duplicated_vertices[v2] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_duplicated_vertices[v3] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_in_between_vertices_with_direction_change PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_subdivided_square PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeFullPatch::test_fill_pie[seg0] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeFullPatch::test_fill_pie[seg1] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestMergeFullPatch::test_fill_pie[seg2] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_all_edges_cube PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_unique_edge_count PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_sum_of_edge_count PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_all_balances_are_0 PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_invalid_face_orientation_break_the_rules PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_coincident_faces_break_the_rules PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_edge_balance_has_no_meaning_for_open_surfaces PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestSeparateMeshes::test_separate_a_single_cube_returns_a_single_cube PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestSeparateMeshes::test_separate_menger_sponge PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestSeparateMeshes::test_separate_two_cubes PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestSeparateMeshes::test_separate_two_intersecting_cubes PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestNormals::test_cube_has_six_normals PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestNormals::test_all_normals_are_normalized PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestNormals::test_all_normals_are_different PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_concave_mesh_tessellation PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[none] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[x] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[y] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[z] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[xy] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[xz] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[yz] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[xyz] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_cube_has_uniform_face_normals PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_multiple_disconnected_cubes PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_flipped_cube_faces_are_also_uniform PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_modified_cube_has_not_uniform_face_normals PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_torus_with_uniform_face_normals PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_find_all_backward_oriented_faces PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_detect_reference_face_orientation PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_regular_open_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_regular_cube_has_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_multiple_cubes_have_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_cube_with_reversed_face_has_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_non_manifold_cube_has_not_a_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_unify_cube_normals_by_reference_face PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_force_unified_cube_normals_pointing_outwards[False] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_force_unified_cube_normals_pointing_outwards[True] PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_unify_cube_normals_by_majority PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_unify_torus_normals_by_majority PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_volume6 PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_volume_of_closed_surface PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_volume_of_surface_with_clockwise_oriented_vertices PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_location_of_mesh_is_not_relevant_for_volume_calculation[loc0] PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_location_of_mesh_is_not_relevant_for_volume_calculation[loc1] PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_volume_of_an_open_surface_is_null PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_volume_of_two_cubes_in_a_single_mesh_is_invalid PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_torus_volume PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_surface_area_of_a_cube PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_surface_area_of_a_torus PASSED [ 80%] tests/test_07_render/test_703_mesh_builder.py::test_centroid_of_a_cube PASSED [ 80%] tests/test_07_render/test_704_render_linear_dimension.py::test_linear_dimension_with_one_tolerance PASSED [ 80%] tests/test_07_render/test_704_render_linear_dimension.py::test_linear_dimension_with_two_tolerances PASSED [ 80%] tests/test_07_render/test_704_render_linear_dimension.py::test_linear_dimension_with_limits PASSED [ 80%] tests/test_07_render/test_704_render_linear_dimension.py::test_dimension_insert_attribute_translates_the_block_content PASSED [ 80%] tests/test_07_render/test_704_render_linear_dimension.py::test_override_all_colors[1] PASSED [ 80%] tests/test_07_render/test_704_render_linear_dimension.py::test_override_all_colors[7] PASSED [ 80%] tests/test_07_render/test_705_shape.py::test_init PASSED [ 80%] tests/test_07_render/test_705_shape.py::test_translate PASSED [ 80%] tests/test_07_render/test_705_shape.py::test_scale PASSED [ 80%] tests/test_07_render/test_705_shape.py::test_scale_uniform PASSED [ 80%] tests/test_07_render/test_705_shape.py::test_rotate PASSED [ 80%] tests/test_07_render/test_705_shape.py::test_rotate_center PASSED [ 80%] tests/test_07_render/test_706_random_path.py::test_random_2d_path PASSED [ 80%] tests/test_07_render/test_706_random_path.py::test_random_3d_path PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_trace_builder_init PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_add_station_2d PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_add_station_3d PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_add_spline_segment PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_square_face PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_closed_linear_path PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_two_straight_faces PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_two_angled_faces PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_linear_trace_polygon PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_virtual_entities_added_to_entity_database PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_issue_191 PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_nearly_horizontal_parallel_lines_in_linear_trace_builder PASSED [ 80%] tests/test_07_render/test_707_trace.py::test_nearly_vertical_parallel_lines_in_linear_trace_builder PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_init PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_if_path_is_empty PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_if_path_is_not_empty PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_init_start PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_if_path_with_only_a_start_point_is_still_empty PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_line_to PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_path_requires_a_command_to_represent_a_point PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_curve3_to PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_curve4_to PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_user_data_is_none_by_default PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_set_and_get_user_data PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_path_clones_share_user_data PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_reversed_path_preserves_user_data PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_transformed_path_preserves_user_data PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_sub_paths_inherit_parent_user_data PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves3 PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves4 PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves3_with_gap PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves4_with_gap PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves3_reverse PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves4_reverse PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_has_no_sub_paths_by_default PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_first_move_to PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_multiple_first_move_to PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_move_to_creates_a_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_merge_multiple_move_to_commands_at_the_end PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_clone_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_cant_detect_orientation_of_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_cant_convert_multi_path_object_to_clockwise_orientation PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_cant_convert_multi_path_object_to_ccw_orientation PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_approximate_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_flatten_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_multi_path_object_to_wcs PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_transform_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_sub_paths_from_single_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_sub_paths_from_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_spline PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_spline PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_ellipse PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_raises_type_error_for_unsupported_objects PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_ellipse PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_arc PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_circle[1] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_circle[-1] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_circle_with_zero_radius PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_line PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_4_points[SOLID] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_4_points[TRACE] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_4_points[3DFACE] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_3_points[SOLID] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_3_points[TRACE] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_3_points[3DFACE] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_lwpolyline_lines PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_make_path_from_lwpolyline_with_bulges PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_make_path_from_full_circle_lwpolyline PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_make_path_from_full_circle_lwpolyline_issue_424 PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_lwpolyline_s_shape PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_polyline_lines PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_polyline_with_bulges PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_3d_polyline PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestPathFromBoundaryWithElevationAndFlippedExtrusion::test_from_hatch_polyline_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_approximate_lines PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_approximate_curves PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_path_from_hatch_polyline_path_without_bulge PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_path_from_hatch_polyline_path_with_bulge PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_path_cloning PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_approximate_line_curves PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_transform PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_control_vertices PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_has_clockwise_orientation PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_empty_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_one_line PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_one_curve3 PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_one_curve4 PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_path_ctrl_vertices PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_path_approx PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_multi_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_multi_path_with_a_move_to_cmd_at_the_end PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_cw_and_ccw_orientation PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_edge_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_from_edge_path_with_two_closed_loops PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_loops_with_gaps_should_be_closed PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e00-e10-e20-e30] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e01-e11-e21-e31] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e02-e12-e22-e32] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e03-e13-e23-e33] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e04-e14-e24-e34] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e05-e15-e25-e35] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e06-e16-e26-e36] PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e07-e17-e27-e37] PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_line_edge PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_arc_edge PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_ellipse_edge PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_spline_edge PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_from_complex_edge_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_extend_path_by_another_none_empty_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_extend_path_by_another_single_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_extend_path_by_another_multi_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_append_empty_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_append_path_without_a_gap PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_append_path_with_a_gap PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestCloseSubPath::test_close_last_sub_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestCloseSubPath::test_does_nothing_if_last_sub_path_is_closed PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestCloseSubPath::test_does_nothing_if_last_sub_path_is_empty PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestCloseSubPath::test_close_single_path PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_empty_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_start_point_only_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_transformation_is_executed PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_one_path_line_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_one_path_curve3_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_one_path_curve4_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_one_path_multiple_command PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_two_paths_one_command PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_two_paths_multiple_commands PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_multi_path_objects PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_to_ocs PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_empty_path PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_line_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_curve3_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_curve4_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_move_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_empty_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_one_path PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_two_path PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_not_precise_box PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_precise_box PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_empty_paths PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_uniform_stretch_paths_limited_by_z PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_uniform_stretch_paths_limited_by_y PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_uniform_stretch_paths_limited_by_x PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_uniform_shrink_paths PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_project_into_xy PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_project_into_xz PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_project_into_yz PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_invalid_target_size PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_non_uniform_stretch_paths PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_non_uniform_shrink_paths PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_project_into_xy PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_project_into_xz PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_project_into_yz PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_empty_path PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_only_vertices PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_one_quadratic_bezier PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_one_cubic_bezier PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_adjacent_cubic_beziers_with_G1_continuity PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_adjacent_cubic_beziers_without_G1_continuity PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_multiple_segments PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_polylines3d PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_polylines3d PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_lines PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_lines PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_lwpolyline PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_path_to_lwpolyline PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_lwpolylines PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_lwpolylines_with_wcs_elevation PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_lwpolylines_with_ocs PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_multi_path_to_lwpolylines PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_polylines2d PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_polylines2d PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_polylines2d_with_wcs_elevation PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_polylines2d_with_ocs PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_hatches PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_poly_path_hatches PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_poly_path_hatches_with_wcs_elevation PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_poly_path_hatches_with_ocs PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_edge_path_hatches PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_splines_and_polylines PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_mpolygons_returns_expected_dxf_type PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_to_multi_path PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_to_multi_path_ignores_empty_paths PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_single_paths_from_a_single_path_object PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_single_paths_from_a_multi_path_object PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_issue_224_end_points PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_issue_494_make_path_from_spline_defined_by_fit_points_and_tangents PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_create_a_curve3_command PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_create_a_curve4_command PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_line_to_curve_creates_a_linear_segment[lines_to_curve3] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_line_to_curve_creates_a_linear_segment[lines_to_curve4] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_remove_line_segments_of_zero_length_at_the_start PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_remove_line_segments_of_zero_length_between_commands PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_remove_line_segments_of_zero_length_at_the_end PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_does_not_remove_a_line_representing_a_single_point PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_for_very_short_line_segments[0-1e-11] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_for_very_short_line_segments[10-1e-08] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_which_length_is_too_short_to_create_a_curve[0-1e-12] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_which_length_is_too_short_to_create_a_curve[10-1e-09] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_empty_path PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_less_than_four_corners PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_open_square PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_closed_square PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_rectangle PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_parallelogram PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_non_aligned_square PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_polyline_with_bulge_value_greater_one PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_no_paths PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_line_to PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_curve3_to PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_curve4_to PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_two_single_paths PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_one_multi_paths PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_unit_circle PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_scale_circle PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_move_circle PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_wedge PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_ellipse PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_rotated_ellipse PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[0-0] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[1-0] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[0-1] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[-1-1] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[1--1] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_rectangle PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_transformed_rectangle PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_ngon PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_star PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_gear PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_helix_positive_pitch_goes_up[True] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_helix_positive_pitch_goes_up[False] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_helix_negative_pitch_goes_down[True] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_helix_negative_pitch_goes_down[False] PASSED [ 83%] tests/test_07_render/test_708e_path_shapes.py::test_triangulate_doughnut PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[1 path] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[2 separated paths] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[1 nested sub-path] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[2 nested sub-path] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[2 separated sub-paths] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[1 polygon] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[2 polygons] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[1 polygon 1 nested sub-polygon] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[1 polygon 2 nested sub-polygons] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[1 polygon 2 separated sub-polygons] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[2 polygons] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon 1 nested sub-polygon] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon 2 nested sub-polygons] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon 2 separated sub-polygons] PASSED [ 83%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon 2 separated nested sub-polygons] PASSED [ 83%] tests/test_07_render/test_709_linetype_renderer.py::test_line_type_solid PASSED [ 83%] tests/test_07_render/test_709_linetype_renderer.py::test_line_start_is_end PASSED [ 83%] tests/test_07_render/test_709_linetype_renderer.py::test_dashed_line_2 PASSED [ 83%] tests/test_07_render/test_709_linetype_renderer.py::test_dashed_line_4 PASSED [ 83%] tests/test_07_render/test_709_linetype_renderer.py::test_dash_dot_2x_render_issue PASSED [ 83%] tests/test_07_render/test_711_points.py::test_dimensionless_point PASSED [ 83%] tests/test_07_render/test_711_points.py::test_none_point PASSED [ 83%] tests/test_07_render/test_711_points.py::test_cross_point PASSED [ 83%] tests/test_07_render/test_711_points.py::test_x_cross_point PASSED [ 83%] tests/test_07_render/test_711_points.py::test_tick_point PASSED [ 83%] tests/test_07_render/test_711_points.py::test_square_point PASSED [ 83%] tests/test_07_render/test_711_points.py::test_circle_point PASSED [ 83%] tests/test_07_render/test_711_points.py::test_rotated_cross_point PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-(+x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-(+y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-(-x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-(-y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-angled] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-(+x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-(+y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-(-x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-(-y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-angled] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-(+x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-(+y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-(-x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-(-y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-angled] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-(+x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-(+y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-(-x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-(-y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-angled] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-(+x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-(+y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-(-x)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-(-y)] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-angled] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_dimension_line_divided_by_measurement_text[60-120] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_dimension_line_divided_by_measurement_text[300-240] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_dimension_line_divided_by_measurement_text[240-300] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_dimension_line_divided_by_measurement_text[300-30] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_text_and_arrows_fit_between_extension_lines PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_has_outside_text_and_arrows[3] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_has_outside_text_and_arrows[6] PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_has_outside_text_and_arrows_but_not_a_wide_text PASSED [ 84%] tests/test_07_render/test_712_render_curved_dimension.py::test_fixed_length_extension_lines PASSED [ 84%] tests/test_07_render/test_713_mleader_builder.py::TestMultiLeaderMTextBuilder::test_set_content PASSED [ 84%] tests/test_07_render/test_713_mleader_builder.py::TestMultiLeaderBlockBuilder::test_set_content PASSED [ 84%] tests/test_07_render/test_714_mleader_render_engine.py::TestRenderEngine::test_add_mtext_content PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_positive_line_distance PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_negative_line_distance PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_hatch_line_direction_error PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_dense_hatching_error PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_no_offset_error PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_very_small_offset_error PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_collinear PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_start PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_end PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_regular[-2] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_regular[0] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_regular[6] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_cubic_bezier_curve PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_missing_line_in_gear_example PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[10 l 10 l 10-10] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[2 l 2 r 2 r 2 l 6 l 10 l 2 l 2 r 2 r 2 l 6-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[2 l 2 r 2 l 2 r 2 r 4 l 4 l 10 l 2 l 2 r 2 l 2 r 2 r 4 l 4-18] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[2 r 2 l 2 r 2 l 2 l 4 r 4 l 10 l 2 r 2 l 2 r 2 l 2 l 4 r 4-18] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[2 l 2 r 2 r 2 l 2 l 4 r 2 r 4 l 2 l 10 l 2 r 2 l 2 l 2 r 2 r 4 l 2 l 4 r 2-22] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[3 @2,2 @2,-2 3 l 10 l @-2,-2 @-2,2 2 @-2,-2 @-2,2-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[3 @1,1 @1,1 @1,-1 @1,-1 3 l 10 l @-1,-1 @-1,-1 @-1,1 @-1,1 2 @-1,-1 @-1,-1 @-1,1 @-1,1-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[10 l 10 l 10-10] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[2 l 2 r 2 r 2 l 6 l 10 l 2 l 2 r 2 r 2 l 6-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[2 l 2 r 2 l 2 r 2 r 4 l 4 l 10 l 2 l 2 r 2 l 2 r 2 r 4 l 4-18] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[2 r 2 l 2 r 2 l 2 l 4 r 4 l 10 l 2 r 2 l 2 r 2 l 2 l 4 r 4-18] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[2 l 2 r 2 r 2 l 2 l 4 r 2 r 4 l 2 l 10 l 2 r 2 l 2 l 2 r 2 r 4 l 2 l 4 r 2-22] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[3 @2,2 @2,-2 3 l 10 l @-2,-2 @-2,2 2 @-2,-2 @-2,2-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[3 @1,1 @1,1 @1,-1 @1,-1 3 l 10 l @-1,-1 @-1,-1 @-1,1 @-1,1 2 @-1,-1 @-1,-1 @-1,1 @-1,1-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_curved_path PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_path_with_hole PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_vertical_hatching_with_hole PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_pattern_length PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_render_full_pattern PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_render_start_to_offset PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_render_offset_to_end PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_render_offset_to_offset PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_hatch_line_full_pattern PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_hatch_line_with_start_and_end_offset PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_explode_earth1_pattern PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_arrow_blocks PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_arc PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_mtext PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_extension_line_1 PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_extension_line_2 PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_horiz_top PASSED [ 85%] tests/test_08_addons/test_800_mtext_surrogate.py::test_horiz_bottom PASSED [ 85%] tests/test_08_addons/test_800_mtext_surrogate.py::test_horiz_middle PASSED [ 85%] tests/test_08_addons/test_800_mtext_surrogate.py::test_45deg_top PASSED [ 85%] tests/test_08_addons/test_800_mtext_surrogate.py::test_45deg_bottom PASSED [ 85%] tests/test_08_addons/test_800_mtext_surrogate.py::test_one_liner PASSED [ 85%] tests/test_08_addons/test_800_mtext_surrogate.py::test_get_attribute_by_subscript PASSED [ 85%] tests/test_08_addons/test_800_mtext_surrogate.py::test_set_attribute_by_subscript PASSED [ 85%] tests/test_08_addons/test_801_r12spline.py::test_r12_quadratic_spline PASSED [ 85%] tests/test_08_addons/test_801_r12spline.py::test_r12_cubic_spline PASSED [ 85%] tests/test_08_addons/test_801_r12spline.py::test_r12_cubic_spline_closed PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_init PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_setter_methods PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_cell_index PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_default_text_cell PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_text_cell PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_block_cell PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_frame PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_cell_style PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_border_style PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_visibility_map PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_rendering PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_dxf_creation_span PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_span_beyond_table_borders PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_grid_coords PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_grid_coords_span PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_draw_cell_background PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_set_border_status PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::test_set_border_style PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::TestStyle::test_init_default_style PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::TestStyle::test_init_custom_style PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::TestStyle::test_get_attribute_index_operator PASSED [ 85%] tests/test_08_addons/test_802_table_painter.py::TestStyle::test_invalid_attribute_name_raises_key_error PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_mapping PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_int_list PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_float_list PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_vector_list PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_api_call PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_dxf_tags PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_line_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_point_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_circle_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_arc_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_text_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_solid_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_shape_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_ellipse_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_insert_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_attdef_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_mtext_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_lwpolyline_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_polyline_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_spline_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_leader_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_mesh_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_layer_entry PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_ltype_entry PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_block_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_hatch_to_code PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_simple_modelspace[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_simple_modelspace[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_without_conflict[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_without_conflict[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_with_conflict_discard[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_with_conflict_discard[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_with_conflict_replace[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_with_conflict_replace[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_without_conflict[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_without_conflict[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_discard[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_discard[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename_resolve_block_ref[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename_resolve_block_ref[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename_resolve_block_ref_inside_block_def[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename_resolve_block_ref_inside_block_def[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_entities_using_complex_linetypes[R12-BORDER--ltypeshp.shx] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_entities_using_complex_linetypes[R12-GAS-Standard-txt] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_entities_using_complex_linetypes[R2000-BORDER--ltypeshp.shx] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_entities_using_complex_linetypes[R2000-GAS-Standard-txt] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_polyline PASSED [ 86%] tests/test_08_addons/test_804_importer.py::test_import_insert_with_attribs PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_cube_intersect PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_cube_union PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_cube_subtract PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_sphere_cylinder_intersect PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_sphere_cylinder_union PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_sphere_cylinder_subtract PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_bolt PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_example_simple PASSED [ 86%] tests/test_08_addons/test_805_pycsg.py::test_example_infiniteRecursion PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_init PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_get_set_color PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_object_color PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_dithering PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_grayscale PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_dxf_color_index PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_set_lineweight PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_write PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_set_style PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_style PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_color PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_lineweight PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_lineweight_none PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_lineweight_index PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_table_lineweight PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_set_table_lineweight PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_set_table_lineweight_index_error PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_write_header PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_write_aci_table PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_write_lineweights PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_set_style PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_style PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_color PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_lineweight PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_lineweight_none PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_lineweight_index PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_table_lineweight PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_set_table_lineweight PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_set_table_lineweight_index_error PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_write_header PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_write_lineweights PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBImport::test_ctb_attribs PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBImport::test_lineweight_table PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBImport::test_style_1 PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBImport::test_style_3 PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBExport::test_create_ctb PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBImport::test_stb_attribs PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBImport::test_normal PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBImport::test_style_1 PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBImport::test_mozman PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBExport::test_create_ctb PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestFunctions::test_color_name PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestFunctions::test_get_bool PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::test_parser_ignores_unknown_appendix PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_load_classes PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_header_commands PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_load_all PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_crc8_is_runnable PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_crc32_is_runnable PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_parse_hex_dump PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_load_default_ctb PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_set_color_dependent_plot_style_as_object_instance PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_new_ctb PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_entity_visibility PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_attrib_visibility PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_entity_color PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_existing_true_color_overrides_any_aci_color PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_entity_linetype PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_entity_lineweight PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_block_entities PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::TestResolveLayerACIColor7::test_dark_background PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::TestResolveLayerACIColor7::test_light_background PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::TestResolveLayerACIColor7::test_switch_layout_colors PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::TestResolveLayerACIColor7::test_color_from_true_color_layer PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#012345-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#456789-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#ABCDEF-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#abcdef-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#ghijkl-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[000000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[ABCDEF-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_invalid_color_value_type[0] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_invalid_color_value_type[1.0] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_invalid_color_value_type[color2] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_transparent_color[#00000000-True] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_transparent_color[#000000FF-True] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_transparent_color[#000000ff-True] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_transparent_color[#000000gh-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#0-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#00-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#000-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#0000-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#00000-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#000000-True] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#0000000-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#00000000-True] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#000000000-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[ #0000-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[ #000000-False] PASSED [ 87%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_transparency_from_layer PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_basic_frontend_init PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_backend_default_draw_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_draw_layout PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_draw_entities PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_filter_draw_entities PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_point_and_layers PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_line PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_lwpolyline_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_lwpolyline_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_banded_lwpolyline PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_polyline_2d PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_banded_polyline_2d PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_polyline_3d_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_polyline_3d_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_2d_arc_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_circle_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_circle_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_arc_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_arc_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_ellipse_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_ellipse_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_2d_text PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_ignore_3d_text PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_mtext PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_hatch PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_basic_spline PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_mesh PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_polyface PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_property_override_method[use_override_method] PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_property_override_method[use_override_function] PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_replay_layout PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_points PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_line PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_lwpolyline_as_path PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_replay_properties PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_override_properties_at_replay PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_banded_lwpolyline_as_filled_polygon PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_2d_text_as_filled_paths PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_bounding_box PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_null_sized_crop_box_removes_everything PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_remove_entities_outside PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_entities_inside_crop_box_do_not_change PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_crop_filled_paths PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_does_not_crop_holes_inside_crop_box PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_does_remove_holes_outside_crop_box PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_active_viewport PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_only_the_first_active_viewport PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_missing_active_viewport PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_BricsCAD_off_viewports PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_off_screen_viewports PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_draw_viewports_in_order_of_status PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_dxf_type PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_get_dxfattribs PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_setting_dxfattribs_does_no_alter_wrapped_entity PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_copy_raises_cpy_not_supported_exception PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_supports_virtual_entities_protocol PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_supports_virtual_entities_method_of_wrapped_entity PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_supports_virtual_entities_protocol_of_wrapped_entity PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::test_support_for_proxy_graphic_stored_in_acdb_entity PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_mapping_vertex_count_error[points0] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_mapping_vertex_count_error[points1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_mapping_vertex_count_error[points2] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_map_dxf_point PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_map_dxf_line PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_map_polyline PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_map_dxf_polygon[HATCH] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_map_dxf_polygon[MPOLYGON] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_map_circle PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_map_arc PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_arc_geo_proxy_wcs_to_crs PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity0] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity2] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity3] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity5] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity6] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_type_error PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity0] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity2] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity3] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_polygon_without_holes PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_polygon_1_hole PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_polygon_2_holes PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_geometry_collection PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_feature PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_feature_with_geometry_collection PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_parse_feature_collection PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_iter_feature_with_geometry_collection PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity0] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity2] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity3] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity5] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity6] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity7] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity8] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity9] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity10] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_point_to_dxf_entity PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_line_string_to_dxf_entity PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_without_holes_to_dxf_polygon[HATCH-1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_without_holes_to_dxf_polygon[MPOLYGON-4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_with_holes_to_dxf_polygon[HATCH-1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_with_holes_to_dxf_polygon[MPOLYGON-4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_mpolygon_supports_fill_and_border_color PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geometry_collection_to_dxf_entities PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_feature_to_dxf_entities PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_feature_collection_to_dxf_entities PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_dxf_entities_post_process_properties PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_dxf_entities_from_geometry_collection_post_process_properties PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg0-coords0] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg1-coords1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg2-coords2] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg3-coords3] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg4-coords4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity0-Point] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity1-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity2-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity3-MultiPoint] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity4-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity5-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity6-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_geometrie_collection PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_feature_collection PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_from_hatch_hole_in_hole PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_three_polygons_from_one_hatch PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[1-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[2-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[.-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[0-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[a-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[!-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[@-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[8-3] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[\xfc-3] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[&-3] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[\xe4-4] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[\xf6-4] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[%-5] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_chinese_char_paths_from_str[\u4e2d-3] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_chinese_char_paths_from_str[\u56fd-4] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_chinese_char_paths_from_str[\u6587-3] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_chinese_char_paths_from_str[\u5b57-2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[1-0] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[2-0] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[.-0] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[0-1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[a-1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[8-2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_two_contours_without_holes[:] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_two_contours_without_holes[!] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_two_contours_without_holes[;] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_two_contours_without_holes[=] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_three_contours_and_ignore_holes[\xdc] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_three_contours_and_ignore_holes[\xf6] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_three_contours_and_ignore_holes[\xe4] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_chinese_chars_and_ignore_holes[\u4e2d-1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_chinese_chars_and_ignore_holes[\u56fd-1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_chinese_chars_and_ignore_holes[\u6587-2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_group_chinese_chars_and_ignore_holes[\u5b57-2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[0] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[-1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[-2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[-100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_positive_size[0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_positive_size[1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_positive_size[2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_positive_size[100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_negative_size[-0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_negative_size[-1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_negative_size[-2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_negative_size[-100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_length_for_fit_alignment[0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_length_for_fit_alignment[1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_length_for_fit_alignment[2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_length_for_fit_alignment[100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_scaled_height_and_length_for_aligned_text[0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_scaled_height_and_length_for_aligned_text[1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_scaled_height_and_length_for_aligned_text[2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_scaled_height_and_length_for_aligned_text[100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_paths_from_empty_string PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_make_multi_path_object PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_make_empty_multi_path_object PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakeHatchesFromString::test_hatches_from_empty_string PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakeHatchesFromString::test_make_exterior_only_hatches PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakeHatchesFromString::test_make_hatches_with_holes PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakeHatchesFromString::test_total_length_for_fit_alignment PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_check_entity_type PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_returns_correct_types[make_paths_from_entity-Path] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_returns_correct_types[make_hatches_from_entity-Hatch] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_height[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_height[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_height[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_left[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_left[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_left[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_center[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_center[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_center[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_right[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_right[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_right[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_baseline[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_baseline[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_baseline[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_bottom[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_bottom[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_bottom[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_middle[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_middle[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_middle[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_top[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_top[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_top[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_fit[get_path_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_fit[get_paths_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_fit[get_hatches_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_aligned[get_path_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_aligned[get_paths_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_aligned[get_hatches_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_rotation_90[get_path_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_rotation_90[get_paths_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_rotation_90[get_hatches_bbox] PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestVirtualEntities::test_virtual_entities_as_hatches PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestVirtualEntities::test_virtual_entities_as_splines_and_polylines PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestVirtualEntities::test_virtual_entities_as_lwpolylines PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestVirtualEntities::test_virtual_entities_to_all_types_at_once PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestExplode::test_source_entity_is_destroyed PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestExplode::test_explode_entity_into_layout PASSED [ 90%] tests/test_08_addons/test_814_text2path.py::TestExplode::test_explode_entity_into_the_void PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFTagsModel::test_fixed_column_count PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFTagsModel::test_row_count PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFTagsModel::test_render_display_role PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::test_setup_dxf_structure_model PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFDocument::test_get_entity_returns_entity_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFDocument::test_get_entity_by_invalid_handle_returns_none PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFDocument::test_get_start_line_number_for_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFDocument::test_get_entity_by_line_number PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_int PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_invalid_int_to_str PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_float PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_invalid_float_to_str PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_2d_point PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_two_2d_points PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_nan_coords_2d PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_3d_point PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_nan_coords_3d PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_group_code_10 PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_two_group_code_10 PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_swapped_coords PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_contains_all_entities PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_entity_by_handle PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_entity_by_dummy_handle PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_handle_from_casted_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_dummy_handle_from_casted_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_next_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_next_entity_of_last_entity_is_last_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_prev_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_prev_entity_of_first_entity_is_first_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_max_line_number PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_start_line_number PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_start_line_number_for_dummy_handle PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_entity_at_line PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_entity_at_line_for_dummy_handle PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::test_entity_index_adds_missing_endsec_tag PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_setup_history PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_empty_history_returns_none PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_append_one_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_append_two_entities PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_go_back_in_history PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_go_back_and_forward_in_history PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_append_should_add_time_travel_history PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_valid_setup_and_default_settings PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_empty_search_index PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_reset_cursor_forward PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_forward PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_forward_beyond_entity_border PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_forward_to_the_end_of_index PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_reset_cursor_backward PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_backward PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_backward_beyond_entity_border PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_backward_to_the_end_of_index PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_failing_search PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_find_entity_type PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_find_forward_entity_type PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_find_content PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_find_forward_content PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_failing_find_forward_returns_none PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_not_initiated_find_forward_returns_none PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_case_insensitive_search PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_case_sensitive_search PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_ignore_number_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_search_in_number_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_failing_find_forward_stops_at_the_end PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_failing_find_backwards_stops_at_the_beginning PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_single_item PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_multiple_items[3-1-1] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_multiple_items[1-3-1] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_multiple_items[1-1-3] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_different_sized_items PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_empty_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_empty_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_create_zero_sized_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_forced_zero_sized_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_small_bins[box0] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_small_bins[box1] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_small_bins[box2] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_medium_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_medium_box2 PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_large_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_large_box2 PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_small_bins[box0] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_small_bins[box1] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_small_bins[box2] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_medium_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_medium_box2 PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_large_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_large_box2 PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_copy_item[item0] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_copy_item[item1] PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_whd_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_hwd_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_hdw_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_dhw_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_dwh_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_wdh_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_copy_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_copy_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_copy_packed_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_copy_packer_with_non_empty_bins PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_append_bins_to_packed_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_append_non_empty_bins PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_append_items_to_packed_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_random_shuffle_interface PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_random_shuffle_raise_exception_for_invalid_attempts PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_pack_item_subset PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_init_value PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_init_value_is_valid[-0.1] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_init_value_is_valid[1.1] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_flip_mutate_at PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_iter PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_reset_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_reset_data_checks_validity[values0] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_reset_data_checks_validity[values1] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_new_random_dna PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_subscription_setter PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestBitDNA::test_init_value PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestBitDNA::test_reset_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestBitDNA::test_new_random_dna PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestBitDNA::test_subscription_setter PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_init_value PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_init_values PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_init_invalid_values PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_reset_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_new_random_dna PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_subscription_setter PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_preserves_order PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_random_recombine_dna_ocx1[0-3] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_random_recombine_dna_ocx1[3-7] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_random_recombine_dna_ocx1[7-9] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_random_recombine_dna_ocx1[0-9] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_without_change[0-0] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_without_change[8-8] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_without_change[9-9] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_without_change[10-11] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_init_value PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_init_invalid_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_flip_mutate_at PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_reset_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_new_random_dna PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestHallOfFame::test_build PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestHallOfFame::test_get_n_best PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestHallOfFame::test_get_n_best_negative_values PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestHallOfFame::test_purge PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::test_reverse_mutate PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::test_scramble_mutate PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::test_tournament_selection PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestRouletteSelection::test_weights[1-10000] PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestRouletteSelection::test_weights[-10000--1] PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestRankBasedSelection::test_weights[1-10000] PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestRankBasedSelection::test_weights[-10000--1] PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::test_two_point_crossover PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestThresholdFilter::test_positive_values PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestThresholdFilter::test_negative_values PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestGeneticOptimizer::test_init PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestGeneticOptimizer::test_init_invalid_max_runs PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestGeneticOptimizer::test_can_only_run_once PASSED [ 92%] tests/test_08_addons/test_817_genetic_algorithm.py::TestGeneticOptimizer::test_execution PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_empty_file_returns_empty_mesh PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_load_a_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_parsing_error_too_few_axis PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_parsing_error_invalid_coordinate_format PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_parsing_error_invalid_floats PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_valid_data[OFF\n# just a comment\n8 6 0\n-0.500000 -0.500000 0.500000 # ignor this\n0.500000 -0.500000 0.500000\n-0.500000 0.500000 0.500000\n0.500000 0.500000 0.500000\n-0.500000 0.500000 -0.500000\n0.500000 0.500000 -0.500000\n-0.500000 -0.500000 -0.500000\n0.500000 -0.500000 -0.500000\n4 0 1 3 2 # ignore this\n4 2 3 5 4\n4 4 5 7 6\n4 6 7 1 0\n4 1 7 5 3\n4 6 0 2 4\n] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_valid_data[OFF 8 6 0 # ignore this\n-0.500000 -0.500000 0.500000 # ignore this\n0.500000 -0.500000 0.500000\n-0.500000 0.500000 0.500000\n0.500000 0.500000 0.500000\n-0.500000 0.500000 -0.500000\n0.500000 0.500000 -0.500000\n-0.500000 -0.500000 -0.500000\n0.500000 -0.500000 -0.500000\n4 0 1 3 2 # ignore this\n4 2 3 5 4\n4 4 5 7 6\n4 6 7 1 0\n4 1 7 5 3\n4 6 0 2 4\n\n\n# ignore this\n] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_minimal_data PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 8 6 0] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 8 6 0\n1 2 3] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 3 1 0\n0 0 0\n 0 0 0\n0 0 Z\n3 0 1 2\n ] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 3 1 0\n0 0 0\n 0 0 0\n0 0\n3 0 1 2\n ] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 3 1 0\n0 0 0\n 0 0 0\n0 0 0\n3 0 1\n ] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 3 1 0\n0 0 0\n 0 0 0\n0 0 0\n3 0 1 z\n ] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_empty_file_returns_empty_mesh PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_load_a_single_face[v 0 0 0\nv 1 0 0\nv 1 1 0\nf 1 2 3\n] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_load_a_single_face[g\nv 0 0 0\nv 1 0 0\nv 1 1 0\ng\nf 1 2 3\n] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_parsing_error_too_few_axis PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_parsing_error_invalid_coordinate_format PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_parsing_error_invalid_floats PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestSTLDumpString::test_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestSTLDumpString::test_dump_and_load_cube_ascii PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestSTLDumpString::test_dump_and_load_cube_binary PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFDumpString::test_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFDumpString::test_dump_and_load_cube PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJDumpString::test_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJDumpString::test_dump_and_load_cube PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOpenSCADDumpString::test_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOpenSCADDumpString::test_inverted_cube PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::test_ifc_guid_compression PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_add_record_returns_record_number PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_add_record_check_expected_record_number PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_update_one_tag PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_update_multiple_tags PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_dumps PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_euler_characteristic_for_menger_sponge PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_edge_balance_for_menger_sponge PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_menger_sponge_is_non_manifold PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_menger_sponge_face_count PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_menger_sponge_edge_count PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::test_matrix44_to_multmatrix_str PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_build_boolean_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_build_all_operations[Operation.union-union()] PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_build_all_operations[Operation.difference-difference()] PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_build_all_operations[Operation.intersection-intersection()] PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_multmatrix_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_translation_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_rotation_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_rotation_about_axis_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_scale_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_resize_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_auto_resize_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_multi_auto_resize_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_mirror_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::test_str_polygon PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::test_str_polygon_is_automatically_closed PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::test_str_polygon_with_holes PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::test_parse_hpgl_commands PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::test_skip_all_pcl5_commands PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_pen_absolute[PD;PA2000,8000;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_pen_absolute[PU;PA2000,8000;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_select_pen PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_pen_width PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_current_pen_width PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_pen_color PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_fill_type_hatching PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_fill_type_shading PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_pen_relative PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_polyline PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_cubic_bezier_curve_pen_down PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_cubic_bezier_curve_pen_up PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_circle PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_abs_arc PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_rel_arc PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_abs_arc_three_points_clockwise PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_abs_arc_three_points_counter_clockwise PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_rel_arc_three_points_clockwise PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_polyline_encoded PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%-1BBP;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%0BBP;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%1BBP;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%2BBP;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%3BBP;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[IN;PU;PD;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[IN;PU;PD] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[INPUPD] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[IN PU PD] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[ INPU PD] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_pe_command[PETEST-0] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_pe_command[PUPETEST;PD-1] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_pe_command[PUPUPETEST;PD-2] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_001 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_002 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_filter_non_printable_chars_from_pe_command PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_no_hpgl2_data PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_terminator[LB MY label \x03PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_terminator[LBMY label \x03PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_custom_terminator[DT\x04LB Tue Dec 18 16:20:05 2001 \x04PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_custom_terminator[DT\x04,0LB Tue Dec 18 16:20:05 2001 \x04PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_custom_terminator[DT\x04,1;LB Tue Dec 18 16:20:05 2001 \x04PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_reset_custom_terminator[DT\x04LB MY label\x04DTLB My other label \x03] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_reset_custom_terminator[DT\x04LB MY label\x04DT;LB My other label \x03] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageCoordinates::test_user_to_page_coordinates PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageCoordinates::test_user_vector_to_page_vector PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageAnisotropicScaling::test_isotropic_scaling PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageAnisotropicScaling::test_anisotropic_scaling PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageAnisotropicScaling::test_reverse_anisotropic_scaling PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_bottom_window_50 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_bottom_window_0 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_bottom_window_100 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_left_window_50 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_left_window_0 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_left_window_100 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::test_arc_angles PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::test_sweeping_angle PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPlacementMatrix::test_shift_to_origin_Q1 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPlacementMatrix::test_shift_to_origin_Q3 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPlacementMatrix::test_rotate PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineEncoding::test_8_bit PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineEncoding::test_7_bit PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineDecoding::test_8_bit PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineDecoding::test_7_bit PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineDecoding::test_8_bit_float PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestPage::test_ISO_A0 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestPage::test_ANSI_A PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestPage::test_screen_size_in_pixels PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_scale_1 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_scale_50 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_includes_margins_sc1 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_includes_margins_sc50 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_limited_page_height PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_limited_page_width PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_stretch_width PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_stretch_height PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_shrink_width PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_shrink_height PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_stretch_width_margins PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_stretch_height_margins PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_shrink_width_margins PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_shrink_height_margins PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestSettings::test_rotate_content PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestSettings::test_invalid_rotate_content_angle_raises_exception PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStyles::test_create_stroke_style PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStyles::test_style_string PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStrokeWidthMapping::test_min_stroke_width PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStrokeWidthMapping::test_max_stroke_width PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStrokeWidthMapping::test_interpolation PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestSVGBackend::test_get_xml_root_element PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestSVGBackend::test_get_string PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::test_empty_page PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::test_empty_page PASSED [ 94%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_enter_hpgl2_mode_prefix PASSED [ 94%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_init_commands_exist PASSED [ 94%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_pen_color_setup_exist PASSED [ 94%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_set_pen_command_exist PASSED [ 94%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_pen_width_command_exist PASSED [ 94%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_lines_are_7_bit_int_base_32_polyline_encoded PASSED [ 94%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_curves_are_ascii_encoded_relative_bezier_curves PASSED [ 94%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_draw_point PASSED [ 94%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_draw_solid_lines PASSED [ 94%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_draw_path PASSED [ 94%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_draw_filled_polygon PASSED [ 94%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_json_str PASSED [ 94%] tests/test_08_addons/test_827_geojson_backend.py::test_properties PASSED [ 94%] tests/test_08_addons/test_827_geojson_backend.py::TestGeoJSONBackendNoProperties::test_draw_point PASSED [ 94%] tests/test_08_addons/test_827_geojson_backend.py::TestGeoJSONBackendNoProperties::test_draw_solid_lines PASSED [ 94%] tests/test_08_addons/test_827_geojson_backend.py::TestGeoJSONBackendNoProperties::test_draw_path PASSED [ 94%] tests/test_08_addons/test_827_geojson_backend.py::TestGeoJSONBackendNoProperties::test_draw_filled_polygon PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_is_immutable PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_x_y PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_2_tuple PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_vec2 PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_3_tuple PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_vec3 PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_type_error PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_compare PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_lower_than PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_is_null PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_bool PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_does_not_support_slicing PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[90] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[-90] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[600] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[-600] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[0.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[360.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[-360.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[720.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[-720.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[3.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[-3.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[10.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[-10.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[0.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[6.283185307179586] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[-6.283185307179586] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[12.566370614359172] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[-12.566370614359172] PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_is_immutable PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_x_y PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_2_tuple PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_vec2 PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_3_tuple PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_vec3 PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_type_error PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_is_null PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_bool PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_compare PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_lower_than PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_does_not_support_slicing PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_16_numbers_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_4_rows_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_item PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_row_4_values PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_row_1_value PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_col_4_values PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_col_1_value PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_copy PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_get_origin PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_array_inplace_transformation PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_point PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_tangent PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_approximate PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_flattening PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_approximated_length PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_reverse PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_transform PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_arc_parameters[0-3.141592653589793] PASSED [ 95%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_arc_parameters[3.141592653589793-6.283185307179586] PASSED [ 95%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_arc_parameters[0-6.283185307179586] PASSED [ 95%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_arc[0-180] PASSED [ 95%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_arc[180-360] PASSED [ 95%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_arc[0-360] PASSED [ 95%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_ellipse[0-3.141592653589793] PASSED [ 95%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_ellipse[3.141592653589793-6.283185307179586] PASSED [ 95%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_ellipse[0-6.283185307179586] PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_default_constructor PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_point PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_tangent PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_approximate PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_flattening PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_approximated_length PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_reverse PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_transform PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_find_span PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_cython_knots PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_basis_funcs PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_basis_vector PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_weighted_basis_vector PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_basis_funcs_derivatives PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_weighted_basis_funcs_derivatives PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_point_evaluator PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_derivative_evaluator PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_weighted_point_evaluator PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_weighted_derivative_evaluator PASSED [ 95%] tests/test_10_issues/test_issue_1078_bbox_calculation.py::test_bbox_lwpolyline_with_const_width PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePath::test_WCS_calculation PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePath::test_make_path PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePath::test_bounding_box_calculation PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePrimitive::test_make_primitive PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePrimitive::test_bounding_box_calculation PASSED [ 95%] tests/test_10_issues/test_issue_557_reload_dimension_text_style.py::test_export_dimtxsty PASSED [ 95%] tests/test_10_issues/test_issue_557_reload_dimension_text_style.py::test_reload_dimtxsty PASSED [ 95%] tests/test_10_issues/test_issue_574_flattening_error.py::test_flattening_by_arc PASSED [ 95%] tests/test_10_issues/test_issue_574_flattening_error.py::test_flattening_by_ellipse PASSED [ 95%] tests/test_10_issues/test_issue_574_flattening_error.py::test_flattening_by_path PASSED [ 95%] tests/test_10_issues/test_issue_574_flattening_error.py::test_flattening_ellipse PASSED [ 95%] tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py::test_is_poly_face_mesh PASSED [ 95%] tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py::test_virtual_3dface_has_only_3_vertices PASSED [ 95%] tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py::test_virtual_3dface_does_not_include_NULLVEC PASSED [ 95%] tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py::test_mesh_builder PASSED [ 95%] tests/test_10_issues/test_issue_749_text_layout.py::test_parse_text PASSED [ 95%] tests/test_10_issues/test_issue_749_text_layout.py::test_explode_mtext PASSED [ 95%] tests/test_10_issues/test_issue_873_circle_inverted_normal.py::test_loaded_data PASSED [ 95%] tests/test_10_issues/test_issue_873_circle_inverted_normal.py::test_circle_with_inverted_normal PASSED [ 95%] integration_tests/test_acad_table.py::test_virtual_entities_from_block PASSED [ 95%] integration_tests/test_acad_table.py::test_virtual_entities_from_proxy_graphic PASSED [ 95%] integration_tests/test_acis_entites.py::test_apply_transformations_to_acis_entities PASSED [ 95%] integration_tests/test_acis_entites.py::test_export_and_reload_transformed_acis_entities PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1009] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1015] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1018] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1021] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1024] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1027] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1032] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_random_multi_point_linear_dimension PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1009] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1015] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1018] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1021] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1024] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1027] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1032] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-2-2-2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--1-1-1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-1--1-1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-1-1--1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--2--2-2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-2--2--2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--2-2--2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--3--3--3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--1-2-3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-1--2-3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-1-2--3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--3--2-1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-3--2--1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--3-2--1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-2-2-2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--1-1-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1--1-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1-1--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--2--2-2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-2--2--2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--2-2--2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--3--3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--1-2-3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1--2-3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1-2--3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--2-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3-2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-2-2-2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--1-1-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1--1-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1-1--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--2--2-2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-2--2--2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--2-2--2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--3--3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--1-2-3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1--2-3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1-2--3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--2-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3-2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_error_config[config0] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1009] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1015] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1018] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1021] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1024] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1027] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1032] PASSED [ 96%] integration_tests/test_appsettings.py::test_update_extents PASSED [ 96%] integration_tests/test_audit_critical_dxf_files.py::test_kit_dev_coldfire SKIPPED [ 96%] integration_tests/test_audit_critical_dxf_files.py::test_leica_disto_r12[Leica_Disto_S910.dxf] PASSED [ 96%] integration_tests/test_audit_layouts.py::test_find_orphaned_layouts PASSED [ 96%] integration_tests/test_audit_layouts.py::test_find_orphaned_block_record PASSED [ 96%] integration_tests/test_audit_layouts.py::test_load_MODEL PASSED [ 96%] integration_tests/test_complex_line_type_2.py::test_complex_line_type PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1009] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1015] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1018] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1021] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1024] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1027] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1032] PASSED [ 96%] integration_tests/test_document_guid.py::test_guids_are_created_for_new_docs PASSED [ 96%] integration_tests/test_document_guid.py::test_guids_are_preserved_at_loading PASSED [ 96%] integration_tests/test_document_guid.py::test_fingerprint_guid_is_preserved_at_export PASSED [ 96%] integration_tests/test_document_guid.py::test_version_guid_changes_at_export PASSED [ 96%] integration_tests/test_document_page_setup.py::test_simple_page_setup_is_not_supported_for_DXF_R12 PASSED [ 96%] integration_tests/test_document_page_setup.py::test_reset_layout1_landscape PASSED [ 96%] integration_tests/test_document_page_setup.py::test_invalid_paper_format_returns_A3 PASSED [ 96%] integration_tests/test_document_page_setup.py::test_reset_layout1_portrait PASSED [ 96%] integration_tests/test_document_page_setup.py::test_resetting_layout1_creates_a_new_main_viewport PASSED [ 96%] integration_tests/test_document_page_setup.py::test_resetting_layout1_does_not_delete_entities PASSED [ 96%] integration_tests/test_document_page_setup.py::test_new_layout2 PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1009-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1009-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1015-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1015-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1018-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1018-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1021-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1021-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1024-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1024-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1027-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1027-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1032-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1032-bin] PASSED [ 96%] integration_tests/test_dynblkhelper.py::test_direct_dynamic_block_references PASSED [ 96%] integration_tests/test_dynblkhelper.py::test_indirect_dynamic_block_references PASSED [ 96%] integration_tests/test_entities_iterator.py::test_entities_iterator[AC1009] PASSED [ 96%] integration_tests/test_entities_iterator.py::test_entities_iterator[AC1015] PASSED [ 96%] integration_tests/test_fix_dulicate_handles.py::test_recover_duplicate_handles[duplicate_handles.dxf] PASSED [ 97%] integration_tests/test_groups.py::test_load_dxf_with_groups PASSED [ 97%] integration_tests/test_groups.py::test_delete_group_content_and_export_dxf PASSED [ 97%] integration_tests/test_groups.py::test_reload_dxf_with_empty_group_content PASSED [ 97%] integration_tests/test_hpgl2_addon.py::test_svg_was_created PASSED [ 97%] integration_tests/test_hpgl2_addon.py::test_basic_svg_attributes PASSED [ 97%] integration_tests/test_ignore_junk_beyond_EOF.py::test_recover_ignores_junk_beyond_EOF PASSED [ 97%] integration_tests/test_ignore_junk_beyond_EOF.py::test_readfile_ignores_junk_beyond_EOF PASSED [ 97%] integration_tests/test_launcher.py::test_version PASSED [ 97%] integration_tests/test_launcher.py::test_audit_existing_file PASSED [ 97%] integration_tests/test_launcher.py::test_audit_file_not_found PASSED [ 97%] integration_tests/test_load_dxf_unicode_notation.py::test_load_special_dxf_unicode_notation[ASCII_R12.dxf] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[bad-diagonals-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[bad-diagonals-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[bad-hole-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[bad-hole-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[boxy-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[boxy-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[building-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[building-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[collinear-diagonal-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[collinear-diagonal-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[degenerate-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[degenerate-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[dude-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[dude-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[eberly-3-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[eberly-3-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[eberly-6-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[eberly-6-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[empty-square-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[empty-square-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[filtered-bridge-jhl-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[filtered-bridge-jhl-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hilbert-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hilbert-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hole-touching-outer-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hole-touching-outer-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hourglass-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hourglass-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[infinite-loop-jhl-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[infinite-loop-jhl-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue107-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue107-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue119-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue119-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue131-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue131-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue149-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue149-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue16-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue16-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue17-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue17-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue29-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue29-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue34-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue34-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue35-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue35-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue45-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue45-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue52-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue52-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue83-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue83-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[outside-ring-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[outside-ring-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[rain-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[rain-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[self-touching-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[self-touching-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[shared-points-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[shared-points-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[simplified-us-border-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[simplified-us-border-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[steiner-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[steiner-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching-holes-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching-holes-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching2-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching2-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching3-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching3-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water2-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water2-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water3-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water3-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water3b-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water3b-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water4-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water4-Cython] PASSED [ 98%] integration_tests/test_missing_block_names.py::test_load_r12_blocks_with_no_name PASSED [ 98%] integration_tests/test_missing_block_names.py::test_load_r2000_blocks_with_recovered_names PASSED [ 98%] integration_tests/test_missing_block_names.py::test_load_r2000_blocks_with_no_name_and_no_block_record PASSED [ 98%] integration_tests/test_mtext_columns.py::test_load_mtext_columns_from_dxf_r2007[load] PASSED [ 98%] integration_tests/test_mtext_columns.py::test_load_mtext_columns_from_dxf_r2007[recover] PASSED [ 98%] integration_tests/test_mtext_columns.py::test_load_mtext_columns_from_dxf_r2018[load] PASSED [ 98%] integration_tests/test_mtext_columns.py::test_load_mtext_columns_from_dxf_r2018[recover] PASSED [ 98%] integration_tests/test_mtext_explode_addon.py::test_created_text_styles_exists PASSED [ 98%] integration_tests/test_mtext_explode_addon.py::test_addon_is_still_working PASSED [ 98%] integration_tests/test_mtext_text_frame.py::test_remove_mtext_text_frame_at_loading_stage[load] PASSED [ 98%] integration_tests/test_mtext_text_frame.py::test_remove_mtext_text_frame_at_loading_stage[recover] PASSED [ 98%] integration_tests/test_mtext_text_frame.py::test_remove_column_text_frames_at_loading_stage PASSED [ 98%] integration_tests/test_mtext_text_frame.py::test_do_not_export_mtext_text_borders PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1009] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1015] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1018] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1021] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1024] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1027] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1032] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1009] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1015] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1018] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1021] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1024] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1027] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1032] PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_source_does_not_exist PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_source_has_unsupported_extension PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_destination_already_exist PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_destination_folder_does_not_exist PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_destination_has_unsupported_extension PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_invalid_DXF_version PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Required::test_dxf_to_dwg_same_stem SKIPPED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Required::test_dxf_to_dwg_new_stem SKIPPED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Required::test_upgrade_dxf_to_r2013 SKIPPED [ 98%] integration_tests/test_odafc.py::Test_Export_And_Load_DWG::test_export_dwg SKIPPED [ 98%] integration_tests/test_odafc.py::Test_Export_And_Load_DWG::test_read_dwg SKIPPED [ 98%] integration_tests/test_open_R13_R14.py::test_open_R13_R14[small_r13.dxf] PASSED [ 98%] integration_tests/test_open_R13_R14.py::test_open_R13_R14[small_r14.dxf] PASSED [ 98%] integration_tests/test_open_R13_R14.py::test_open_R13_R14[no_layouts.dxf] PASSED [ 98%] integration_tests/test_open_binary_DXF_files.py::test_open_R13_R14[bin_dxf_r14.dxf] PASSED [ 98%] integration_tests/test_open_binary_DXF_files.py::test_open_R13_R14[bin_dxf_r13.dxf] PASSED [ 98%] integration_tests/test_open_binary_DXF_files.py::test_open_R2000_with_xdata PASSED [ 98%] integration_tests/test_open_binary_DXF_files.py::test_open_R12 PASSED [ 98%] integration_tests/test_open_coord_order_issue.py::test_coordinate_order_problem[AC1003_LINE_Example.dxf] PASSED [ 98%] integration_tests/test_open_exotic_dxf_files.py::test_read_plain_cp936_chinese SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::test_read_from_zip SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestProE::test_read_ProE_file SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestProE::test_recover_ProE_file SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestCorruptCivil3D::test_readfile_and_preserve_errors_by_surrogate_escape SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestCorruptCivil3D::test_readfile_and_ignore_errors SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestCorruptCivil3D::test_readfile_and_raise_exception SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestCorruptCivil3D::test_recover SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::test_read_map_3d SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::test_read_gerber_file SKIPPED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1009] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1015] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1018] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1021] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1024] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1027] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1032] PASSED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_civil_3d_preserves_binary_data_in_xrecords[22C1] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_civil_3d_preserves_binary_data_in_xrecords[22C4] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_civil_3d_preserves_binary_data_in_xrecords[22C7] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_dxf_export_xrecords_with_binary_data[22C1-0] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_dxf_export_xrecords_with_binary_data[22C4-1] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_dxf_export_xrecords_with_binary_data[22C7-2] SKIPPED [ 99%] integration_tests/test_r12_with_subclass_markers.py::test_read_sublass_markers_in_r12_entities PASSED [ 99%] integration_tests/test_r12_with_subclass_markers.py::test_read_sublass_markers_in_r12_table_entries PASSED [ 99%] integration_tests/test_r12export.py::test_export_empty_doc PASSED [ 99%] integration_tests/test_r12export.py::test_export_dxf_primitives PASSED [ 99%] integration_tests/test_r12export.py::test_export_lwpolyline_as_polyline PASSED [ 99%] integration_tests/test_r12export.py::test_export_mesh_as_polyface_mesh PASSED [ 99%] integration_tests/test_r12export.py::test_export_ellipse_as_3d_polyline PASSED [ 99%] integration_tests/test_r12export.py::test_export_spline_as_3d_polyline PASSED [ 99%] integration_tests/test_r12export.py::test_export_proxy_graphic PASSED [ 99%] integration_tests/test_r12export.py::test_export_mtext PASSED [ 99%] integration_tests/test_r12export.py::test_export_virtual_entities PASSED [ 99%] integration_tests/test_r12export.py::test_export_hatch_pattern_fill PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_header_vars PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_appid PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_ltype PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_layer PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_text_style PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_dimstyle PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_ucs PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_view PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_vport PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_common_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_text_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_text_xdata PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_dimension_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_reference_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_modelspace_xdata PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_layout_names[MY_BLOCK_0_0] PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_layout_names[MY_BLOCK_1] PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_layout_names[MY_BLOCK_0_1] PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_content_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_clean_xdata_from_table_entries PASSED [ 99%] integration_tests/test_r12strict.py::test_remove_legacy_blocks PASSED [ 99%] integration_tests/test_r12writer.py::test_if_exists PASSED [ 99%] integration_tests/test_r12writer.py::test_write_r12 PASSED [ 99%] integration_tests/test_r12writer.py::test_read_r12 PASSED [ 99%] integration_tests/test_r12writer.py::test_context_manager PASSED [ 99%] integration_tests/test_r12writer.py::test_write_and_read_binary_dxf PASSED [ 99%] integration_tests/test_read_file_without_handles.py::test_read_file_without_handles PASSED [ 99%] integration_tests/test_read_write_modern_entites.py::test_lwpolyline PASSED [ 99%] integration_tests/test_recover.py::test_bytes_loader PASSED [ 99%] integration_tests/test_recover.py::test_safe_tag_loader PASSED [ 99%] integration_tests/test_recover.py::test_rebuild_sections PASSED [ 99%] integration_tests/test_recover.py::test_build_section_dict PASSED [ 99%] integration_tests/test_recover.py::test_readfile_recover01_dxf PASSED [ 99%] integration_tests/test_recover.py::test_rebuild_tables PASSED [ 99%] integration_tests/test_recover.py::test_readfile_recover02_dxf PASSED [ 99%] integration_tests/test_recover.py::test_read_cc_dxflib_file PASSED [ 99%] integration_tests/test_recover.py::test_readfile_empty_handles_dxf PASSED [ 99%] integration_tests/test_recover.py::test_decode_dxf_unicode_automatically PASSED [ 99%] integration_tests/test_recover.py::test_recover_layout_broken_links_1 PASSED [ 99%] integration_tests/test_recover.py::test_recover_layout_broken_links_2 PASSED [ 99%] integration_tests/test_recover.py::test_recover_layout_missing_block_record PASSED [ 99%] integration_tests/test_recover.py::test_recover_layout_missing_block_definition PASSED [ 99%] integration_tests/test_redraw_order.py::test_unset_redraw_order_returns_empty_tuple PASSED [ 99%] integration_tests/test_redraw_order.py::test_set_redraw_order PASSED [ 99%] integration_tests/test_redraw_order.py::test_store_and_load_redraw_order PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1009] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1015] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1018] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1021] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1024] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1027] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1032] PASSED [ 99%] integration_tests/test_surface_entities.py::test_get_acis_data_from_surfaces SKIPPED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_fixed_meta_data[R12] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_fixed_meta_data[R2000] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_fixed_meta_data[R2018] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_meta_data_is_different[R12] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_meta_data_is_different[R2000] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_meta_data_is_different[R2018] PASSED [ 99%] integration_tests/test_write_without_handles.py::test_check_R12_has_handles[POLI-ALL210_12.DXF] PASSED [ 99%] integration_tests/test_write_without_handles.py::test_write_R12_without_handles[POLI-ALL210_12.DXF] PASSED [ 99%] integration_tests/test_xref_detach.py::test_xref_doc_has_required_properties PASSED [ 99%] integration_tests/test_xref_detach.py::test_detached_dxf_contains_all_block_entities PASSED [ 99%] integration_tests/test_xref_detach.py::test_xref_doc_has_required_resources PASSED [ 99%] integration_tests/test_xref_detach.py::test_source_block_is_empty PASSED [ 99%] integration_tests/test_xref_load_acis.py::test_load_acis_from_R2007 PASSED [ 99%] integration_tests/test_xref_load_acis.py::test_load_acis_from_R2013 PASSED [ 99%] integration_tests/test_xref_load_acis.py::test_load_acis_from_2007_into_2013 PASSED [ 99%] integration_tests/test_xref_load_acis.py::test_load_acis_from_2013_into_2007 PASSED [100%] =============================== warnings summary =============================== tests/test_07_render/test_708c_matplotlib_path_tools.py:6 /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/tests/test_07_render/test_708c_matplotlib_path_tools.py:6: PytestDeprecationWarning: Module 'matplotlib' was found, but when imported by pytest it raised: ImportError('initialization failed') In pytest 9.1 this warning will become an error by default. You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror pytest.importorskip("matplotlib") :488 :488 :488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute :488 :488 :488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute :488 :488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========== 8077 passed, 55 skipped, 1 xfailed, 6 warnings in 29.83s =========== :0: DeprecationWarning: builtin type swigvarlink has no __module__ attribute + EZDXF_DISABLE_C_EXT=1 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=80 + /usr/bin/pytest -k '' tests integration_tests -v ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4 configfile: pytest.ini collecting ... collected 7860 items / 2 skipped tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_init PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_immutability PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_equality PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_index_able PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_unpack PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_iterable PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_public_attributes PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_dxf_str PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_xcode_for PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_001_dxf_types.py::test_is_valid_handle PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_init PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_clone PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_dxf_tags PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_dxf_string PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py::test_xdata_string PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_init PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_index_able PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_dxf_str PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_long_string PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::test_hexstr_to_bytes PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_for_preceding_length_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_if_data_tag_values_are_bytes PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_if_empty_data_creates_a_length_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_if_tag_value_size_is_limited_to_chunk_size PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py::TestBinaryDataToDXFTags::test_if_merged_tag_values_matches_source_data PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_single_value_code PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_single_value_value PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_single_value_str PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_not_ispoint PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_ispoint PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test__point_2coords PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_point_3coords PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_004_dxf_value.py::TestDXFValue::test_point_str PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_tag_array_init PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_tag_array_clone PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_inherited_array PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_basics PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_advanced PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_delete PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_delete_slices PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_insert PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertex_array_to_dxf_tags PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertext_array_transform_by_ucs PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_005_packed_tags.py::test_vertext_transform PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_010_binary_data.py::test_hexstr_to_bytes PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_010_binary_data.py::test_hexstr_data_to_bytes_1 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_010_binary_data.py::test_hexstr_data_to_bytes_2 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_010_binary_data.py::test_bytes_to_hexstr PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_011_codepage.py::test_ansi_1250 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_011_codepage.py::test_default PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_011_codepage.py::test_tocodepage_1252 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_011_codepage.py::test_tocodepage_936 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_012_crypt.py::test_decode PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_012_crypt.py::test_encode PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_1582_10_15 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_1990_01_01 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_2000_01_01 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_2011_03_21 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestJulianDate::test_1999_12_31 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestCalendarDate::test_1999_12_31 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_013_juliandate.py::TestCalendarDate::test_2011_03_21 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_014_multi_tags_text.py::test_text_to_multi_tags PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_valid_tags PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_app_data_without_closing_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_app_data_without_opening_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_app_data_structure_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_xrecord_with_group_code_102 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_xrecord_with_long_closing_tag PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_xdata PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_unbalanced_xdata_list_1 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_unbalanced_xdata_list_2 PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_invalid_xdata_list_nesting PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_extended_group_code_before_XDATA PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py::test_embedded_object_follows_XDATA PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_ascii_encoding PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_surrogate_escape_support_in_dxf_replace_encoder[300\n\udcb7\udc9e\udcff\n-300\n\xb7\x9e\xff\n] PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_surrogate_escape_support_in_dxf_replace_encoder[123\u6539-123\U+6539] PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_XRECORD_handling_of_dxf_replace_encoder[0] PASSED [ 0%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_XRECORD_handling_of_dxf_replace_encoder[1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_016_encoding.py::test_XRECORD_handling_of_dxf_replace_encoder[2] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_next PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_next_function PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_seed PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_returns_not_zero PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_returns_not_negative PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_reset PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_init_and_reset_rejects_invalid_ints PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_copy_handle_generator PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_018_handle.py::test_copied_handle_generators_are_independent PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_tokenizer_just_numbers PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_tokenizer_strings PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_tokenizer_string_with_comma PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_tokenizer_shapes PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_parser_just_numbers PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_parser_strings PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_line_type_parser_shape PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_lin_compiler_floats PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_lin_compiler_strings PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_lin_compiler_shape PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_tags_from_complex_text PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_tags_from_complex_shape PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py::test_new_table_entry_has_text_style_handle PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_invalid_layer_name PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_the_asterisk_in_layer_names PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_allow_dxf_unicode_encoding_in_layer_names PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_allow_dxf_mplus_encoding_in_layer_names PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_strange_but_valid_layer_name PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_adsk_special_layer PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_lineweight PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_lineweight_fixer PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_aci_color PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_in_integer_range PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fit_into_integer_range PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_in_float_range PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fit_into_float_range PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_null_vector PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_positive_value PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_integer_bool PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_integer_bool PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[test\ntext\r] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[test\r\ntext] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[testtext^] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[test\ntext^] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_one_line_text[test\ntext^\r] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[test\ntext\r] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[test\r\ntext] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[testtext^] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[test\ntext^] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_invalid_one_line_text[test\ntext^\r] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_negative PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_zero PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_one_of PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_greater_or_equal_zero PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_bitmask PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_fix_bitmask PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[255_0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[-7] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[-1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[7] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_layer_color[255_1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_layer_color[256_0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_layer_color[0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_layer_color[256_1] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_a_handle[0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_a_handle[100] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_a_handle[FEFE] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_a_handle[None] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_a_handle[0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_a_handle[2097152] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_a_handle[xyz] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_transparency[33554432] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_transparency[33554559] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_transparency[33554687] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_transparency[16777216] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[None] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[0] PASSED [ 1%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[127] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[255] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_transparency[16777217] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_rgb[rgb0] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_rgb[rgb1] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_rgb[rgb2] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_valid_rgb[rgb3] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[None] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[1_0] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[1.0] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[1_1] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb4] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb5] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb6] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb7] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb8] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb9] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py::test_is_not_valid_rgb[rgb10] PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_low_level_tagger PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_fix_line_coordinate_order PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_fix_2d_coordinates PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_dont_fix_invalid_coordinates PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_fix_3d_coordinates PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py::test_fix_two_lines_coordinate_order PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_022_set_flag_state.py::test_set_flag_state PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_023_fix_invalid_located_group_codes.py::test_fix_invalid_located_acdb_entity_group_codes PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_string_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_int_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_float_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_handle_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_reference_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_ctrl_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_point_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_render_binary_data_type PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_024_render_tag.py::TestRenderTag::test_raise_index_error_for_invalid_column_index PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_from_text PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_write PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_update PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_update_error PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_set_first PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_first PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_first_default PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_first_error PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_get_handle_5 PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_get_handle_105 PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_get_handle_create_new PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_all PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_tag_index PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_find_first_value_error PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_clone_is_equal PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_clone_is_independent PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_deepcopy PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_replace_handle_5 PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_replace_handle_105 PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_replace_no_handle_without_error PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_remove_tags PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_strip_tags PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_has_tag PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_has_not_tag PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTags::test_pop_tags PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_handle PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_soft_pointers PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_soft_owners PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_hard_pointers PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_hard_owners PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_get_translatable_pointers PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_is_translatable_pointer PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestGetPointers::test_has_translatable_pointer PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_with_start_param PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_with_end_param PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_with_start_and_end_param PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_none_existing_codes PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_all_codes PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_040_tags.py::TestTagsCollect::test_emtpy_tags PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_041_group_tags.py::test_init PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_041_group_tags.py::test_first_group PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_041_group_tags.py::test_second_group PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_041_group_tags.py::test_last_group PASSED [ 2%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_strtag_int PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_strtag_float PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_strtag_str PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_strtag2_vector PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_not_skip_comments PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_3d_coords PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_2d_coords PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_multiple_2d_coords PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_no_line_break_at_eof PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_float_to_int PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_int_no_eof PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_low_level_tagger_skip_comments PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_low_level_tagger_not_skip_comments PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_next PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_to_list PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_one_point_reader PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_xdata_coords PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_read_2D_points PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_error_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_float_to_int PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_ext_coord_error_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_042_tags_loader.py::test_polyline_with_xdata PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_invalid_y_coord_after_xyz PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_invalid_y_coord_after_xy PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_z_axis_after_valid_point PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_misplaced_z_axis PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_correct_xy_axis PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_invalid_single_x_axis PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_preserve_leading_0_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py::test_preserve_elevation_group_code_38 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_init_appdata PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_init_with_tags PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_init_xdata PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_init_one_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_getitem PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_appdata_content_count PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_appdata_content PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_tags_skips_appdata_content PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xdata_content_count PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_tags_skips_xdata_content PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_copy PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_getitem_layer PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_getitem_xdict PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_getitem_parent PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_get_last_item PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_tagscount PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_subclass_AcDbSymbolTableRecord PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_subclass_AcDbLayerTableRecord PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_clone_is_equal PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_replace_handle PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xdata_count PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_tags_count PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xdata3_tags PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_new_data PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_set_new_data PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_append_xdata PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_read_tags PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_read_tags_2 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_read_tags_3 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_key_error PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_skip_empty_subclass PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_get_not_existing_reactor PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_new_reactors PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_append_not_existing_reactors PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_append_to_existing_reactors PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_legacy_mode PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_group_code_1000_outside_XDATA PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xrecord_with_group_code_102 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_050_extended_tags.py::test_xrecord_with_long_closing_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_loader PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_error_section PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_valid_structure PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_eof_without_lineending PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_missing_eof PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_missing_endsec PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_missing_endsec_and_eof PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py::test_missing_section PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_tag2 PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_tag PASSED [ 3%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_point_tag PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_str PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::test_write_anything PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::TestTagCollector::test_write_tag2 PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::TestTagCollector::test_write_tag PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::TestTagCollector::test_write_point_tag PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_052_tag_writer.py::TestTagCollector::test_write_str PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_parse_embedded_object PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_embedded_object_structure PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_mtext_structure PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_mtext_set_text PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_two_embedded_objects PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py::test_iter_tags PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_054_dxfattr.py::test_return_default PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_bytes_loader[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_bytes_loader[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_encoding_detector[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_encoding_detector[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_windows_line_endings_CR_LF[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_windows_line_endings_CR_LF[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_linux_and_macos_x_line_endings_LF[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_linux_and_macos_x_line_endings_LF[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_line_endings_only_CR PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_malformed_group_codes[bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestBytesLoader::test_malformed_group_codes[synced_bytes_loader] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_malformed_value_tags PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_malformed_integer_tags PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_underlines_in_numbers_are_handled_by_python PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_ignore_whitespace_in_floats[50\n1.000 e20\n] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_ignore_whitespace_in_floats[50\n1.000 E20\n] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_ignore_whitespace_in_floats[50\n1.000\te20\n] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestByteTagCompiler::test_ignore_whitespace_in_floats[50\n1.000\tE20\n] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::test_out_of_sync_tags PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_missing_dxf_version_is_r12 PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_r12 PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1004] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1006] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1009] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1012] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1014] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1015] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1018] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1021] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1024] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1027] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_all_supported_versions[AC1032] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_detect_any_well_formed_version PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[AC10x9] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[XC1009] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[0000] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[AC10240] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_malformed_version_is_r12[None] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_strip_whitespace_from_version_string[ AC1015] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_strip_whitespace_from_version_string[AC1015 ] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestDetectDXFVersion::test_strip_whitespace_from_version_string[ AC1015 ] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_zero_int[0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_zero_int[00] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_zero_int[+0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_zero_int[-0] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_int[+1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_int[1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_valid_int[01] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_in_front_of_int[ 1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_in_front_of_int[\t1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_in_front_of_int[\r1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_in_front_of_int[ \r1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_behind_int[1 ] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_behind_int[1\t] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_behind_int[1\r] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_whitespace_behind_int[1 \r] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1.] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1,] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1a] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1-] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1+] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1$] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[1 1] PASSED [ 4%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[+1 x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_ignore_invalid_chars_behind_int[\t\r+1_ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[1.] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[1,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[1a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[1-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchIntConverter::test_if_works_with_bytes[\t\r+1_ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_zero[0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_zero[0.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_zero[+0.] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_zero[-0.] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[+1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1.] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1.e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1.0e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1E0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1e+0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_positive_floats[1e-0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1.] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1.e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_valid_negative_floats[-1.0e0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_negative_exponent PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_in_front_of_float[ 1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_in_front_of_float[\t1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_in_front_of_float[\r1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_in_front_of_float[ \r1.0] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1.0 ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1.\t] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1.\r] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1. \r] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_whitespace_behind_float[1e0 \t] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1+] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1$] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1 1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[+1 x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[\t\r+1_ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.+] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1.$] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1. 1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[+1. x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[\t\r+1._ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0+] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0$] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[1e0 1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[+1e0 x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[\t\r+1e0_ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[ 1e+0xx] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[ 1e-0xx] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[ 1E+0xx] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_ignore_invalid_chars_behind_float[ 1E-0xx] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1,] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1a] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1-] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1+] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1$] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[1 1] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[+1 x fd fgg] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_055_recover_loader.py::TestSearchFloatConverter::test_if_works_bytes[\t\r+1_ ] PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_has_dxf_unicode_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_has_not_dxf_unicode_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_decode_empty_string PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_decode_regular_escape_sequences PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_decode_regular_string_without_encoding PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_successive_chars PASSED [ 5%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_extra_backslash PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestUnicodeEncoding::test_extra_digits PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_has_mif_encoding PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_has_not_mif_encoding PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_decode_mif_encoding PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_decode_empty_string PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_decode_regular_escape_sequences PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py::TestMIFEncoding::test_decode_regular_string_without_mif_encoding PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py::test_unique_group_codes PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py::test_ignored_group_codes PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py::test_duplicate_group_codes PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py::test_if_callbacks_are_marked PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_export_json_tags PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_export_compact_json_tags PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_load_json_tags PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_load_compact_json_tags PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_load_dxf_document_from_json_tags PASSED [ 6%] tests/test_00_dxf_low_level_structs/test_058_json_tags.py::test_load_dxf_document_from_compact_json_tags PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_handle_and_owner PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_default_values PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_get_value_with_default PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_set_values PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_value_types PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_delete_attribs PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_is_supported PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_dxftype PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_cloning PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_deepcopy_usage PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_dxf_export_one_attribute PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_dxf_export_two_attribute PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_regular_usage PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_protect_entity_back_link_from_update PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_protect_handle_and_owner_from_update_by_default PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_can_exclude_attributes_from_update PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_can_update_handle_and_owner_on_demand PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_raises_attribute_error_for_invalid_attribute PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_raises_value_error_for_invalid_attribute_value PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::TestUpdateDXFAttributes::test_update_can_ignore_errors_on_demand PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_if_fast_load_handles_duplicate_group_codes PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_if_fast_load_handles_callback_group_codes PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_if_fast_load_handles_unprocessed_duplicate_group_codes PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_detect_implementation_version_returns_stored_version PASSED [ 6%] tests/test_01_dxf_entities/test_101_dxfnamespace.py::test_detect_implementation_version_returns_default PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_get PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_add PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_add_data PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_delete PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_app_data_dxf_export PASSED [ 6%] tests/test_01_dxf_entities/test_102_appdata.py::test_clone PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_reactors_new PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_copy_reactors PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_reactors_add PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_reactors_set PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_reactors_discard PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_export_dxf PASSED [ 6%] tests/test_01_dxf_entities/test_103_reactors.py::test_from_tags PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_new_extension_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_direct_interface PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_get_returns_none_for_non_existing_entries PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_supports_handle_property PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_line_new_extension_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_del_entity_with_ext_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_discard_existing_extension_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_discard_non_existing_extension_dict_without_exception PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_discard_empty_extension PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_do_not_discard_non_empty_extension PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_multiple_destroy_calls PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_link_dxf_object_to_extension_dict PASSED [ 6%] tests/test_01_dxf_entities/test_104_extension_dict.py::test_add_new_dictionary_to_xdict PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_empty_xdata PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_add_data PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_safe_init PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_prevent_adding_invalid_data[1] PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_prevent_adding_invalid_data[0] PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_prevent_adding_invalid_data[1007] PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_get_data PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_replace_xdata PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_discard_xdata PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_cloning PASSED [ 6%] tests/test_01_dxf_entities/test_105_xdata.py::test_dxf_export PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::test_has_xdata_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::test_get_xlist_exception PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::test_set_xdata_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::test_discard_xdata_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::test_replace_xdata_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::test_poyline_with_xdata PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::test_remove_all_none_xdata_group_codes PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestEncodedXDATATags::test_find_begin_and_end_of_column_info PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestEncodedXDATATags::test_raise_exception_if_not_found PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestEncodedXDATATags::test_raise_exception_without_end_tag PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestEncodedXDATATags::test_raise_exception_without_begin_tag PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_load_not_existing_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_load_existing_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_load_user_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_list_like_getitem_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_list_like_setitem_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_list_like_insert_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_list_like_delitem_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_commit_creates_valid_XDATA PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_commit_replaces_existing_XDATA PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_modify_existing_XDATA PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_modify_existing_user_list PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_context_manager_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_invalid_line_break_characters_raise_exception[\n] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_invalid_line_break_characters_raise_exception[\r] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserList::test_too_long_string_raise_exception PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_load_not_existing_dict PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_load_existing_dict PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_load_user_dict PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_dict_like_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_dict_like_setitem_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_setitem_accepts_only_strings[0] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_setitem_accepts_only_strings[3.14] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_setitem_accepts_only_strings[data2] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_setitem_accepts_only_strings[data3] PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_dict_like_del_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_discard_non_existing_key PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_commit_creates_valid_XDATA PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_context_manager_interface PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_update_from_dict PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataUserDict::test_update_supports_only_string_keys PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_move PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_scale PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_mirror_x PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_scale_and_mirror_y PASSED [ 7%] tests/test_01_dxf_entities/test_105_xdata.py::TestXDataTransformation::test_rotate PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_dxfentity_is_set_compatible PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_is_not_graphic_entity PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_default_constructor PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_init_with_tags PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_invalid_dxf_attrib PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_get_all_dxf_attribs PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_get_dxf_attribs_and_discard_some PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_write_r12_dxf PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_write_latest_dxf PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_is_alive PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_calling_destroy_multiple_times PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_dont_write_handles_for_R12 PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_uuid PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_source_of_copy_is_none_for_a_new_entity PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_set_source_of_copy PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_delete_missing_source_of_copy_without_exception PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_source_block_reference_is_none_for_a_new_entity PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_set_source_block_reference PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_setting_source_block_reference_twice_without_exception PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_setting_source_block_reference_a_second_time_has_no_effect PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_do_not_copy_source_block_reference PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_delete_missing_source_block_reference_without_exception PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_str PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_get_dxf_defaul PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::test_ocs PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestAppData::test_new_app_data PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestAppData::test_get_app_data PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestAppData::test_set_app_data PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestAppData::test_not_existing_appid PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_new_app_data PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_get_xdata PASSED [ 7%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_set_xdata PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_not_existing_appid PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_get_xdata_list_exception PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_has_xdata_list PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_set_xdata_list PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_discard_xdata_list PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestXData::test_replace_xdata_list PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestReactors::test_has_no_reactors PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestReactors::test_set_reactors PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestReactors::test_append_handle PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestReactors::test_discard_handle PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestGetLayout::test_get_layout_model_space PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestGetLayout::test_get_layout_paper_space PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestGetLayout::test_get_layout_block PASSED [ 8%] tests/test_01_dxf_entities/test_110_dxfentity.py::TestGetLayout::test_get_layout_without_layout PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_default_attribs PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_wrapped_mtext_is_a_graphic_entity PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_wrapped_mtext_is_not_a_dxf_object PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_wrapped_mtext_returns_dxfattribs_dict PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_dxf_tag_storage_is_a_non_graphical_entity_by_default PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_dxf_tag_storage_returns_empty_dxfattribs_dict_for_non_graphical_objetcs PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_dxf_export PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_virtual_entities PASSED [ 8%] tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py::test_supports_virtual_entities_protocol PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_is_graphic_entity PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_init_from_tags PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_true_color PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_color_name PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_transparency PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_default_attributes PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_aci_color_index_fixer PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_lineweight_fixer PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_is_linetype_validator_active PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_is_layer_name_validator_active PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_clone_graphical_entity PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_basic_transformation_interfaces PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_unlink_from_layout PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_unlink_from_layout_without_doc PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_unlink_destroyed_entity_from_layout PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_recover_acdb_entity_tags PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_recover_acdb_entity_tags_does_not_replace_existing_attribs PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::test_recover_acdb_entity_tags_ignores_unknown_tags PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_set_rgb_from_tuple PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_set_rgb_from_rgb PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_setting_none_raises_type_error PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_get_rgb PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_get_rgb_unset_true_color PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_delete_rgb PASSED [ 8%] tests/test_01_dxf_entities/test_112a_dxfgfx.py::TestRrbAttribute::test_deleting_unset_value_does_not_raise_exception PASSED [ 8%] tests/test_01_dxf_entities/test_112b_dxfobj.py::test_is_dxf_object PASSED [ 8%] tests/test_01_dxf_entities/test_112b_dxfobj.py::test_wrapped_xrecord_is_a_dxf_object PASSED [ 8%] tests/test_01_dxf_entities/test_112b_dxfobj.py::test_wrapped_xrecord_is_not_a_graphic_entity PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_registered PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_default_init PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_default_new PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_load_from_text PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_write_dxf_2000 PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_write_dxf_2004 PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_write_dxf_r12 PASSED [ 8%] tests/test_01_dxf_entities/test_113_dxfclass.py::test_entity_type PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_registered_structural_entities PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_registered_table_entries PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_new PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_factory_load PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_bind_entity_to_doc PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_bind_entity_with_existing_handle_to_doc PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_bind_dead_entity_to_doc PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_is_bound_true PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_is_bound_false PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_if_destroyed_entity_is_bound PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_create_db_entry PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_unbind_bound_entity PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_unbind_unbound_entity PASSED [ 8%] tests/test_01_dxf_entities/test_114_factory.py::test_unbind_destroyed_entity PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_create_new_empty_drawing PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_section PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_viewports PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_layers PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_linetypes PASSED [ 8%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_text_styles PASSED [ 9%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_dim_styles PASSED [ 9%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_views PASSED [ 9%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_appids PASSED [ 9%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_ucs PASSED [ 9%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_get_modelspace PASSED [ 9%] tests/test_01_dxf_entities/test_115_new_empty_drawing.py::test_get_paperspace PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_getitem PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_len PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_getitem_with_keyerror PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_owner PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_handle PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_get PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_get_entity PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_get_without_keyerror PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_contains PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_not_contains PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_delete_existing_key PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_delete_not_existing_key PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_remove_existing_key PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_remove_not_existing_key PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_discard_existing_key PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_discard_not_existing_key PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_clear PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_keys PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_items PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestNoneEmptyDXFDict::test_find_key PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_len PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_add_first_item PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_add_first_item_2 PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_add_and_replace_first_item PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestEmptyDXFDict::test_clear PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_do_not_recover_owner_tag_at_loading_stage PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_dictionary_loads_owner_tag PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_get_entity_invalid_handle PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_add_sub_dict PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDictionaryVar::test_add_dict_var PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDictionaryVar::test_value_property PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_add_xrecord PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_cannot_add_graphical_entities_to_dict PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_audit_fix_invalid_root_dict_owner PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_audit_ok PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_audit_invalid_pointer PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_audit_fix_invalid_pointer PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::test_link_dxf_object_to_dictionary PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_get_existing_value PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_get_not_existing_value PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_get_default_value PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_set_default_value PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestDXFDictWithDefault::test_create_place_holder_for_invalid_default_vaue PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_keys_are_copied PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_objects_exist PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_objects_are_copied PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_objects_are_not_bound_to_document PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_fully_manual_dictionary_copy PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_data_is_bound[DICTVAR] PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_data_is_bound[XRECORD] PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_xrecord PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copied_objects_are_owned_by_copy PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyHardOwnerDictionary::test_copy_sub_dictionary PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_is_not_hard_owner PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_keys_are_copied PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_objects_exist PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_objects_are_not_copied PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_objects_are_not_owned_by_copy PASSED [ 9%] tests/test_01_dxf_entities/test_116_dictionary.py::TestCopyNotHardOwnerDictionary::test_copied_dictionary_is_bound PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_handle PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_name PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_flags PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_color PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_linetype PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_name PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_color PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_color_2 PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_color_for_off_layer PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_color_as_property PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_locked PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_not_locked PASSED [ 9%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_on PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_off PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_is_frozen PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_freeze PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_thaw PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_invald_layer_name PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_true_color_as_rgb PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_true_color_as_rgb PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_default_description PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_default_description_at_existing_xdata PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_description_for_unusual_xdata_structure PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_description PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_replace_description PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_get_default_transparency PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_fully_transparent_layer PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_half_transparent_layer PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_opaque_layer PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_invalid_transparency_returns_opaque PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_transparency_byblock_returns_opaque PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_set_transparency PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_replace_transparency PASSED [ 10%] tests/test_01_dxf_entities/test_117_layer_table_entry.py::test_malformed_layer PASSED [ 10%] tests/test_01_dxf_entities/test_118_appid_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_origin PASSED [ 10%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_xaxis PASSED [ 10%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_yaxis PASSED [ 10%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_ucs PASSED [ 10%] tests/test_01_dxf_entities/test_119_ucs_table_entry.py::test_default_vales PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_font PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_width PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_height PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_oblique PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_bigfont PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_is_backward PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_set_backward PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_is_upside_down PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_set_is_upside_down PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_set_is_vertical_stacked PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_not_existing_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_discard_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_set_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_dxf_details_for_extended_font_data PASSED [ 10%] tests/test_01_dxf_entities/test_120_style_table_entry.py::test_malformed_layer PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_description PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_pattern_items_count PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_pattern_tags_details PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_complex_linetype_name PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_compile_pattern PASSED [ 10%] tests/test_01_dxf_entities/test_121_ltype_table_entry.py::test_get_simplified_line_pattern PASSED [ 10%] tests/test_01_dxf_entities/test_122_vport_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_123_view_table_entry.py::test_view_attribute_access PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_name PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_blk1_and_blk2_arrows PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_both_arrows PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_tick PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_text_align PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_text_format PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_handle_export PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_resource_handles_export_R2000 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_text_stream_for_resource_handles_R2000 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dont_write_handles_for_R12 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_name PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_blk1_and_blk2_ticks PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_both_ticks PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_virtual_dimtxsty_attribute PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_virtual_dimldrblk_attribute PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_virtual_linetypes_attributes PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_group_codes PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_dimstyle_set_align PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_text_format_2 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_dimline_format PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_extline_format PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_extline1 PASSED [ 10%] tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py::test_set_extline2 PASSED [ 10%] tests/test_01_dxf_entities/test_125_image_def.py::test_registered PASSED [ 10%] tests/test_01_dxf_entities/test_125_image_def.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_125_image_def.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_125_image_def.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_125_image_def.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_126_image_def_reactor.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_127_raster_variables.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_dwf_definition PASSED [ 11%] tests/test_01_dxf_entities/test_128_pdf_definition.py::test_dgn_definition PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_handle PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_parent_handle PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_cloning_parameter PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_get_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_last_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_iter_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_len PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_set_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_append_data PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_extend PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_clear PASSED [ 11%] tests/test_01_dxf_entities/test_129_xrecord.py::test_reset PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_generic_id_buffer PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_set_get_id_buffer PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_dxf_tags PASSED [ 11%] tests/test_01_dxf_entities/test_130_id_buffer.py::test_clone PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_generic_field_list PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_set_get_field_list PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_dxf_tags PASSED [ 11%] tests/test_01_dxf_entities/test_131_field_list.py::test_clone PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_generic_field_list PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_set_get_field_list PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_dxf_tags PASSED [ 11%] tests/test_01_dxf_entities/test_132_layer_filter.py::test_clone PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_133_sun.py::test_sun PASSED [ 11%] tests/test_01_dxf_entities/test_134_material.py::test_material_manager PASSED [ 11%] tests/test_01_dxf_entities/test_134_material.py::test_export_matrix PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_registered PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_default_init PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_default_new PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_load_from_text PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_write_dxf PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_dxf_attributes PASSED [ 11%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_get_mesh_data PASSED [ 12%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_delete_and_extend_mesh_data PASSED [ 12%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_set_mesh_data PASSED [ 12%] tests/test_01_dxf_entities/test_135_geo_data.py::test_geodata_coordinate_system_definition PASSED [ 12%] tests/test_01_dxf_entities/test_135_geo_data.py::test_create_new_geo_data_for_model_space PASSED [ 12%] tests/test_01_dxf_entities/test_135_geo_data.py::test_interpreting_geodata PASSED [ 12%] tests/test_01_dxf_entities/test_135_geo_data.py::test_setup_local_grid_epsg_3395 PASSED [ 12%] tests/test_01_dxf_entities/test_136_vba_project.py::test_vba_project PASSED [ 12%] tests/test_01_dxf_entities/test_136_vba_project.py::test_load_vba_project PASSED [ 12%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_sort_entities_table PASSED [ 12%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_sort_entities_table_as_list PASSED [ 12%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_sort_entities_table_to_dict PASSED [ 12%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_remove_invalid_handles PASSED [ 12%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_remove_handle PASSED [ 12%] tests/test_01_dxf_entities/test_137_sortentstable.py::test_load_table PASSED [ 12%] tests/test_01_dxf_entities/test_138_setup_visual_styles.py::test_visualstyle PASSED [ 12%] tests/test_01_dxf_entities/test_138_setup_visual_styles.py::test_setup_standard_visual_styles PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_all PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_str PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_float PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_int PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestFlatRecord::test_parse_vec3 PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_top_level_list PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_nested_list_inside_list PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_top_level_dict PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_nested_dict_as_dict_value PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_nested_list_as_dict_value PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_nested_dict_inside_list PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_missing_open_tag_raises_dxf_structure_error PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_missing_close_tag_raises_dxf_structure_error PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_invalid_group_code_raises_value_error PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_invalid_line_break_characters_raise_exception[\n] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_invalid_line_break_characters_raise_exception[\r] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_too_long_string_raise_exception PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_empty_data PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_simple_types[str] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_simple_types[int] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_simple_types[float] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_simple_types[Vec3] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[flat list] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[flat dict] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[nested list] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[nested dict] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[list as dict value] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestCompileData::test_compile_complex_structures[dict inside a list] PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestUserRecord::test_required_final_commit_to_store_data_in_xrecord PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestUserRecord::test_works_as_context_manager PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestUserRecord::test_str PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::test_parse_binary_data PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestBinaryRecord::test_required_final_commit_to_store_data_in_xrecord PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestBinaryRecord::test_works_as_context_manager PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestBinaryRecord::test_stores_line_endings PASSED [ 12%] tests/test_01_dxf_entities/test_139_user_record.py::TestBinaryRecord::test_str PASSED [ 12%] tests/test_01_dxf_entities/test_140_block_record.py::test_duplicate_handle_loading_error PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_doc_setup PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_get_new_vp_override_object PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_if_a_layer_has_any_overrides PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_if_a_layer_has_overrides_for_specific_viewport PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::test_get_default_layer_values_for_missing_overrides PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_color_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_color_raises_value_error[300] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_color_raises_value_error[256] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_color_raises_value_error[0] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_rgb_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_remove_rgb_by_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_transparency_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_linetype_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_linetype_without_table_entry_raises_value_error PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_set_lineweight_override PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_lineweight_raises_value_error[300] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_lineweight_raises_value_error[-1] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_invalid_lineweight_raises_value_error[-2] PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_discard_specific_overrides PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_discard_all_overrides PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestSetOverridesWithoutCommit::test_discard_ignores_none_existing_vp_handles PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_commit_creates_proper_xdict_structure PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_load_overrides_for_one_vp PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_load_overrides_for_two_vp PASSED [ 12%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_commit_no_overrides_creates_no_xdict PASSED [ 13%] tests/test_01_dxf_entities/test_141_layer_vp_override.py::TestCommitChanges::test_resetting_overrides_to_default_removes_xdict_entry PASSED [ 13%] tests/test_01_dxf_entities/test_142_copy_strategy.py::test_basic_copy PASSED [ 13%] tests/test_01_dxf_entities/test_142_copy_strategy.py::test_ignore_errors_in_linked_entities PASSED [ 13%] tests/test_01_dxf_entities/test_142_copy_strategy.py::test_raise_copy_not_supported_exception PASSED [ 13%] tests/test_01_dxf_entities/test_143_spatial_filter.py::test_setup_from_tags PASSED [ 13%] tests/test_01_dxf_entities/test_143_spatial_filter.py::test_loaded_transform_matrix PASSED [ 13%] tests/test_01_dxf_entities/test_143_spatial_filter.py::test_loaded_inverse_insert_matrix PASSED [ 13%] tests/test_01_dxf_entities/test_143_spatial_filter.py::test_dxf_export PASSED [ 13%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_init PASSED [ 13%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_has_section PASSED [ 13%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_add_new_section PASSED [ 13%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_replace_existing_section PASSED [ 13%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_get_section PASSED [ 13%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_discard_existing_section PASSED [ 13%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_discard_non_existing_section PASSED [ 13%] tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py::test_locate_section PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_registered PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_default_init PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_load_from_text[0\nLINE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n11\n1.0\n21\n1.0\n31\n1.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_load_from_text[0\nLINE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbLine\n10\n0.0\n20\n0.0\n30\n0.0\n11\n1.0\n21\n1.0\n31\n1.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_write_dxf[0\nLINE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbLine\n10\n0.0\n20\n0.0\n30\n0.0\n11\n1.0\n21\n1.0\n31\n1.0\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_write_dxf[0\nLINE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n11\n1.0\n21\n1.0\n31\n1.0\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_get_pass_through_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_transform PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_translation PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_rotation PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_scaling PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_copy_entity_transparency PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_setting_invalid_transparency_value_raises_exception PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_load_entity_with_invalid_transparency PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_recover_acdb_entity_tags PASSED [ 13%] tests/test_02_dxf_graphics/test_200_line.py::test_malformed_line PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_registered PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_default_init PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_load_from_text[0\nPOINT\n5\n0\n8\n0\n10\n1.0\n20\n2.0\n30\n3.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_load_from_text[0\nPOINT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbPoint\n10\n1.0\n20\n2.0\n30\n3.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_load_malformed_entity PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_write_dxf[0\nPOINT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbPoint\n10\n1.0\n20\n2.0\n30\n3.0\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_write_dxf[0\nPOINT\n5\n0\n8\n0\n10\n1.0\n20\n2.0\n30\n3.0\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_transform PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_fast_translation PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_do_not_explode_point_entity PASSED [ 13%] tests/test_02_dxf_graphics/test_201_point.py::test_virtual_sub_entities PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_registered PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_default_init PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_negative_radius PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_zero_radius PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_extrusion_can_not_be_a_null_vector PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_load_from_text[0\nCIRCLE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_load_from_text[0\nCIRCLE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbCircle\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_get_point_2d_circle PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_get_point_with_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_write_dxf[0\nCIRCLE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbCircle\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_write_dxf[0\nCIRCLE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_default_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_fast_translation PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_non_uniform_scaling PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_user_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[1-0.35-5] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[1-0.1-8] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[0-0.35-0] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[0-0.1-0] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[-1-0.35-5] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_circle_flattening[-1-0.1-8] PASSED [ 13%] tests/test_02_dxf_graphics/test_202_circle.py::test_load_malformed_circle PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_registered PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_default_init PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_default_new PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_get_start_and_end_vertices_with_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_load_from_text[0\nARC\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n50\n0\n51\n360\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_load_from_text[0\nARC\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbCircle\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n100\nAcDbArc\n50\n0\n51\n360\n] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_write_dxf[0\nARC\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbCircle\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n100\nAcDbArc\n50\n0\n51\n360\n-AC1015] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_write_dxf[0\nARC\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n50\n0\n51\n360\n-AC1009] PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_angles PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_default_ocs PASSED [ 13%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening[1-0-180-0.1-5] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening[0-0-360-0.1-0] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening[-1-0-180-0.35-3] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening[1-270-90-0.1-5] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_3d_flattening_parallel_to_xy_plane PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_3d_flattening PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_arc_flattening_returns_Vec3 PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_360_deg_arc_transformation PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[x-30] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[x-180] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[x-360] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[y-30] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[y-180] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[y-360] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[z-30] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[z-180] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_30_deg_arc_reflexion[z-360] PASSED [ 14%] tests/test_02_dxf_graphics/test_203_arc.py::test_load_malformed_circle PASSED [ 14%] tests/test_02_dxf_graphics/test_204_shape.py::test_registered PASSED [ 14%] tests/test_02_dxf_graphics/test_204_shape.py::test_default_init PASSED [ 14%] tests/test_02_dxf_graphics/test_204_shape.py::test_default_new PASSED [ 14%] tests/test_02_dxf_graphics/test_204_shape.py::test_load_from_text[0\nSHAPE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n2\nNAME\n50\n0.0\n41\n1.0\n51\n0.0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_204_shape.py::test_load_from_text[0\nSHAPE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbShape\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n2\nNAME\n50\n0.0\n41\n1.0\n51\n0.0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_204_shape.py::test_write_dxf[0\nSHAPE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbShape\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n2\nNAME\n50\n0.0\n41\n1.0\n51\n0.0\n-AC1015] PASSED [ 14%] tests/test_02_dxf_graphics/test_204_shape.py::test_write_dxf[0\nSHAPE\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n2\nNAME\n50\n0.0\n41\n1.0\n51\n0.0\n-AC1009] PASSED [ 14%] tests/test_02_dxf_graphics/test_204_shape.py::test_load_malformed_shape PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_registered PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_default_init PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_default_new PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_from_text[0\nSOLID\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n13\n0.0\n23\n0.0\n33\n0.0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_from_text[0\nSOLID\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbTrace\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n13\n0.0\n23\n0.0\n33\n0.0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_write_dxf[0\nSOLID\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbTrace\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n13\n0.0\n23\n0.0\n33\n0.0\n-AC1015] PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_write_dxf[0\nSOLID\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n13\n0.0\n23\n0.0\n33\n0.0\n-AC1009] PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_trace PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_3dface PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_translate PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_trace_translate PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_reorder_quad_ocs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_triangle_ocs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_close_triangle_ocs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_close_quad_ocs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_solid_wcs_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_3dface_quad_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_3dface_triangle_vertices PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_elevation_group_code_support PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_do_not_write_elevation_group_code PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_malformed_solid[SOLID] PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_malformed_solid[TRACE] PASSED [ 14%] tests/test_02_dxf_graphics/test_205_solid.py::test_load_malformed_solid[3DFACE] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_registered PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_default_init PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_default_new PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_load_from_text[0\nTEXT\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nTEXTCONTENT\n50\n0.0\n51\n0.0\n7\nStandard\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n73\n0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_load_from_text[0\nTEXT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nTEXTCONTENT\n50\n0.0\n51\n0.0\n7\nStandard\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n100\nAcDbText\n73\n0\n] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_write_dxf[0\nTEXT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nTEXTCONTENT\n50\n0.0\n51\n0.0\n7\nStandard\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n100\nAcDbText\n73\n0\n-AC1015] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_write_dxf[0\nTEXT\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nTEXTCONTENT\n50\n0.0\n51\n0.0\n7\nStandard\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n73\n0\n-AC1009] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[test\ntext\r] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[test\r\ntext] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[testtext^] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[test\ntext^] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_removing_invalid_chars_at_setting_content[test\ntext^\r] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_set_alignment PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_set_fit_alignment PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_reset_fit_alignment PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_resetting_location_raises_value_error_for_missing_point PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_get_align_enum PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_get_pos_enum_TOP_CENTER PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_get_pos_LEFT PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_transform_interface PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_fit_length PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_default_font_name PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_scale_and_reflexion[1-1] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_scale_and_reflexion[-1-1] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_scale_and_reflexion[-1--1] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_scale_and_reflexion[1--1] PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_non_uniform_scaling PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_is_backward PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_set_backward PASSED [ 14%] tests/test_02_dxf_graphics/test_206_text.py::test_is_upside_down PASSED [ 15%] tests/test_02_dxf_graphics/test_206_text.py::test_set_is_upside_down PASSED [ 15%] tests/test_02_dxf_graphics/test_206_text.py::test_get_pos_handles_missing_align_point PASSED [ 15%] tests/test_02_dxf_graphics/test_206_text.py::test_malformed_text PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_registered PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_default_init PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_default_new PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_load_from_text[0\nATTDEF\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n3\nPROMPTTEXT\n2\nTAG\n70\n0\n74\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_load_from_text[0\nATTDEF\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n100\nAcDbAttributeDefinition\n3\nPROMPTTEXT\n2\nTAG\n70\n0\n73\n0\n74\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_write_dxf[0\nATTDEF\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n100\nAcDbAttributeDefinition\n3\nPROMPTTEXT\n2\nTAG\n70\n0\n73\n0\n74\n0\n-AC1015] PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_write_dxf[0\nATTDEF\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n71\n0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n3\nPROMPTTEXT\n2\nTAG\n70\n0\n74\n0\n-AC1009] PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_has_embedded_mtext PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_get_plain_mtext PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_get_virtual_mtext_entity PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_attdef_graphic_attributes PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_mtext_graphic_attdefutes_inherited_from_host PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_mtext_entity_attributes PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::TestEmbeddedMTextSupport::test_dxf_export_matches_test_data PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_lock_position_and_ignore_version_tag PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_lock_position_without_version_tag PASSED [ 15%] tests/test_02_dxf_graphics/test_207_attdef.py::test_version_without_lock_position PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_registered PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_default_init PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_default_new PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_load_from_text[0\nATTRIB\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n71\n0\n2\nTAG\n70\n0\n74\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_load_from_text[0\nATTRIB\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n71\n0\n100\nAcDbAttribute\n2\nTAG\n70\n0\n73\n0\n74\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_write_dxf[0\nATTRIB\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbText\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n71\n0\n100\nAcDbAttribute\n2\nTAG\n70\n0\n73\n0\n74\n0\n-AC1015] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_write_dxf[0\nATTRIB\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n1\nDEFAULTTEXT\n50\n0.0\n51\n0.0\n7\nSTANDARD\n41\n1.0\n72\n0\n11\n0.0\n21\n0.0\n31\n0.0\n71\n0\n2\nTAG\n70\n0\n74\n0\n-AC1009] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[test\ntext\r] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[test\r\ntext] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[testtext^] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[test\ntext^] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_removing_invalid_chars_at_setting_content[test\ntext^\r] PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_has_embedded_mtext PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_get_plain_mtext PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_get_virtual_mtext_entity PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_attrib_graphic_attributes PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_mtext_graphic_attributes_inherited_from_host PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_mtext_entity_attributes PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_dxf_export_matches_test_data PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_set_mtext PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMTextSupport::test_transformation_of_embedded_mtext PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMText::test_special_namespace PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMText::test_setup PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMText::test_set_mtext_attribute PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::TestEmbeddedMText::test_set_invalid_mtext_attribute PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_lock_position_and_ignore_version_tag PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_lock_position_without_version_tag PASSED [ 15%] tests/test_02_dxf_graphics/test_208_attrib.py::test_version_without_lock_position PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_registered PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_default_init PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_default_new PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_load_from_text[0\nVERTEX\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_load_from_text[0\nVERTEX\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbVertex\n100\nAcDb2dVertex\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_write_dxf[0\nVERTEX\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbVertex\n100\nAcDb2dVertex\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n-AC1015] PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_write_dxf[0\nVERTEX\n5\n0\n8\n0\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n-AC1009] PASSED [ 15%] tests/test_02_dxf_graphics/test_209_vertex.py::test_load_malformed_vertex PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_registered PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_default_constructor PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_default_new PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_load_from_text[0\nPOLYLINE\n5\n0\n8\n0\n66\n1\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_load_from_text[0\nPOLYLINE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDb2dPolyline\n66\n1\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n] PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_polyline_3d PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_poly_face_mesh PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_polygon_mesh PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_copy_polyline PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_write_dxf[0\nPOLYLINE\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDb2dPolyline\n66\n1\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n-AC1015] PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_write_dxf[0\nPOLYLINE\n5\n0\n8\n0\n66\n1\n10\n0.0\n20\n0.0\n30\n0.0\n70\n0\n-AC1009] PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_polyline2d_transform_interface PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_polyline3d_transform_interface PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_2d_polyline_has_default_width PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_2d_polyline_has_any_start_width PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_2d_polyline_has_any_end_width PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_2d_polyline_has_any_arc PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_1.py::test_malformed_polyline PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_create_polyline2D PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_create_polyline3D PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_add_new_sub_entities_to_entity_database PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_export_sub_entities_to_dxf PASSED [ 15%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_vertex_layer PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_change_polyline_layer PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_set_vertex PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_points PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_point_slicing PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_append_vertices PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_insert_vertices PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_delete_one_vertex PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_delete_two_vertices PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_correct_casting PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_set_vertex PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_error_n_index PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_error_m_index PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polymesh_mesh_cache PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_correct_casting PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_create_face PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_add_face PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_face_indices PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_add_two_face_indices PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_faces PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_polyface_optimized_cube PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_export_polyline2d PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_export_polyline3d PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_internals_polymesh PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_internals_polyface PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_new_style_polyface_face_count PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_2.py::test_add_virtual_polyline_to_layout PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline2d_virtual_entities PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_virtual_sub_entities_source_tracking PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline2d_elevation PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline2d_closed PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline2d_explode PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline3d_virtual_entities PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline3d_closed PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyline3d_explode PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polymesh_virtual_entities PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_closed_polymesh PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_explode.py::test_polyface_virtual_entities PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertext_attribs_xy PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertext_attribs_xyb PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertext_attribs_xyseb PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertext_attribs_vseb PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_append_formatted_vertices PASSED [ 16%] tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py::test_vertex_format PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_registered PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_default_init PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_default_new PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_load_from_text[0\nVIEWPORT\n5\n0\n8\nVIEWPORTS\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n41\n1.0\n68\n1\n1001\nACAD\n1000\nMVIEW\n1002\n{\n1070\n16\n1010\n0.0\n1020\n0.0\n1030\n0.0\n1010\n0.0\n1020\n0.0\n1030\n0.0\n1040\n0.0\n1040\n1.0\n1040\n0.0\n1040\n0.0\n1040\n50.0\n1040\n0.0\n1040\n0.0\n1070\n0\n1070\n100\n1070\n1\n1070\n3\n1070\n0\n1070\n0\n1070\n0\n1070\n0\n1040\n0.0\n1040\n0.0\n1040\n0.0\n1040\n0.1\n1040\n0.1\n1040\n0.1\n1040\n0.1\n1070\n0\n1002\n{\n1002\n}\n1002\n}\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_load_from_text[0\nVIEWPORT\n5\n0\n330\n0\n100\nAcDbEntity\n67\n1\n8\nVIEWPORTS\n100\nAcDbViewport\n10\n0.0\n20\n0.0\n30\n0.0\n40\n1.0\n41\n1.0\n68\n2\n69\n2\n12\n0.0\n22\n0.0\n13\n0.0\n23\n0.0\n14\n0.1\n24\n0.1\n15\n0.1\n25\n0.1\n16\n0.0\n26\n0.0\n36\n0.0\n17\n0.0\n27\n0.0\n37\n0.0\n42\n50.0\n43\n0.0\n44\n0.0\n45\n1.0\n50\n0.0\n51\n0.0\n72\n100\n90\n32864\n1\n\n281\n0\n71\n0\n74\n0\n110\n0.0\n120\n0.0\n130\n0.0\n111\n1.0\n121\n0.0\n131\n0.0\n112\n0.0\n122\n1.0\n132\n0.0\n79\n0\n146\n0.0\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_write_dxf_r2000 PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_write_dxf_r12 PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_post_load_hook_resolves_frozen_layer_handles_into_names PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_set_and_get__frozen_layer_names PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_freeze_a_specific_layer PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_freezing_a_layer_twice_does_not_duplicate_entry PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_is_a_specific_layer_frozen PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_thaw_a_specific_layer PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::TestFrozenLayers::test_ignore_thawing_non_frozen_layers_silently PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_is_top_view PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_get_scale PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_get_transformation_matrix PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_has_clipping_path PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_clipping_path_corners PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_clipping_rect PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_aspect_ratio PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_invalid_aspect_ratio PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_modelspace_limits PASSED [ 16%] tests/test_02_dxf_graphics/test_211_viewport.py::test_modelspace_limits_rotated PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_registered PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_default_constructor PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_new_constructor PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_has_scaling PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_load_from_text[0\nINSERT\n5\n0\n8\n0\n2\nBLOCKNAME\n10\n0.0\n20\n0.0\n30\n0.0\n41\n1.0\n42\n1.0\n43\n1.0\n50\n0.0\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_load_from_text[0\nINSERT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockReference\n2\nBLOCKNAME\n10\n0.0\n20\n0.0\n30\n0.0\n41\n1.0\n42\n1.0\n43\n1.0\n50\n0.0\n] PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_write_dxf[0\nINSERT\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockReference\n2\nBLOCKNAME\n10\n0.0\n20\n0.0\n30\n0.0\n41\n1.0\n42\n1.0\n43\n1.0\n50\n0.0\n-AC1015] PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_write_dxf[0\nINSERT\n5\n0\n8\n0\n2\nBLOCKNAME\n10\n0.0\n20\n0.0\n30\n0.0\n41\n1.0\n42\n1.0\n43\n1.0\n50\n0.0\n-AC1009] PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_add_attribs PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_get_block PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_clone_with_insert PASSED [ 16%] tests/test_02_dxf_graphics/test_212_insert.py::test_export_without_sub_entities_to_dxf PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_export_with_sub_entities_to_dxf PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_copy_with_insert PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_no_transform PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_insert PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_insert_and_base_point PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_rotation PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_scaled PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_matrix44_direction PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_insert_transform_interface PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_insert_scaling PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_add_virtual_insert_with_attribs_to_layout PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::TestSupportsVirtualEntitiesProtocol::test_supports_virtual_entities_protocol PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::TestSupportsVirtualEntitiesProtocol::test_query_virtual_entities PASSED [ 17%] tests/test_02_dxf_graphics/test_212_insert.py::test_load_malformed_insert PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::test_mcount_property PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_minsert_normal_spacing PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_discard_minsert_attribs_from_virtual_insert PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_minsert_zero_column_spacing PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_minsert_zero_row_spacing PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestSimpleBlock::test_explode PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestInsertAttributes::test_attribs_transformation PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestInsertAttributes::test_explode PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestRotatedInsert::test_minsert_transformation PASSED [ 17%] tests/test_02_dxf_graphics/test_213_minsert.py::TestRotatedInsert::test_attribs_transformation PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_registered PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_default_init PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_default_new PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_load_from_text[0\nBLOCK\n5\n0\n8\n0\n2\nBLOCKNAME\n70\n0\n10\n0.0\n20\n0.0\n30\n0.0\n3\nBLOCKNAME\n1\n\n] PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_load_from_text[0\nBLOCK\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockBegin\n2\nBLOCKNAME\n70\n0\n10\n0.0\n20\n0.0\n30\n0.0\n3\nBLOCKNAME\n1\n\n] PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_write_block_dxf[0\nBLOCK\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockBegin\n2\nBLOCKNAME\n70\n0\n10\n0.0\n20\n0.0\n30\n0.0\n3\nBLOCKNAME\n1\n\n-AC1015] PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_write_block_dxf[0\nBLOCK\n5\n0\n8\n0\n2\nBLOCKNAME\n70\n0\n10\n0.0\n20\n0.0\n30\n0.0\n3\nBLOCKNAME\n1\n\n-AC1009] PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_write_endblk_dxf[0\nENDBLK\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbBlockEnd\n-AC1015] PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_write_endblk_dxf[ 0\nENDBLK\n 5\n0\n 8\n0\n-AC1009] PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_load_malformed_block PASSED [ 17%] tests/test_02_dxf_graphics/test_214_block.py::test_load_malformed_endblk PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_registered PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_default_init PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_default_new PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_load_from_text[0\nDIMENSION\n5\n0\n8\n0\n2\n*D0\n3\nStandard\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n70\n0\n1\n\n13\n0.0\n23\n0.0\n33\n0.0\n14\n0.0\n24\n0.0\n34\n0.0\n15\n0.0\n25\n0.0\n35\n0.0\n16\n0.0\n26\n0.0\n36\n0.0\n40\n1.0\n50\n0.0\n] PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_load_from_text[ 0\nDIMENSION\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbDimension\n2\n*D0\n3\nStandard\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n70\n32\n71\n5\n42\n0.0\n100\nAcDbAlignedDimension\n 13\n0.0\n 23\n0.0\n 33\n0.0\n 14\n0.0\n 24\n0.0\n 34\n0.0\n50\n0\n100\nAcDbRotatedDimension\n] PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_write_dxf[ 0\nDIMENSION\n5\n0\n330\n0\n100\nAcDbEntity\n8\n0\n100\nAcDbDimension\n2\n*D0\n3\nStandard\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n70\n32\n71\n5\n42\n0.0\n100\nAcDbAlignedDimension\n 13\n0.0\n 23\n0.0\n 33\n0.0\n 14\n0.0\n 24\n0.0\n 34\n0.0\n50\n0\n100\nAcDbRotatedDimension\n-AC1015] PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_write_dxf[0\nDIMENSION\n5\n0\n8\n0\n2\n*D0\n3\nStandard\n10\n0.0\n20\n0.0\n30\n0.0\n11\n0.0\n21\n0.0\n31\n0.0\n12\n0.0\n22\n0.0\n32\n0.0\n70\n0\n1\n\n13\n0.0\n23\n0.0\n33\n0.0\n14\n0.0\n24\n0.0\n34\n0.0\n15\n0.0\n25\n0.0\n35\n0.0\n16\n0.0\n26\n0.0\n36\n0.0\n40\n1.0\n50\n0.0\n-AC1009] PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_missing_block_geometry_name PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_format_text PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_apply_dimpost PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_apply_dimpost_raises_exception_for_invalid_text_format PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_linear_measurement_without_ocs PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_dimension_transform_interface PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_audit_invalid_dimstyle PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_audit_invalid_geometry_block PASSED [ 17%] tests/test_02_dxf_graphics/test_215_dimension.py::test_audit_fake_dimensional_constraints PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_dimstyle_standard_exist PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_dimstyle_override PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_dimstyle_override_arrows PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_dimstyle_override_linetypes PASSED [ 17%] tests/test_02_dxf_graphics/test_216_dimlines_R12.py::test_horizontal_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_dimstyle_standard_exist PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_rotated_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_aligned_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_angular_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_angular_3p_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_radius_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_diameter_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_ordinate_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_add_horizontal_dimline PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_virtual_entities_and_explode PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_transformation_of_associated_anonymous_geometry_block PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_copy_dimension_with_geometry_block PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_destroy_virtual_dimension_copy PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_transform_virtual_geometry_block PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_add_virtual_dimension_copy_to_layout PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_supports_virtual_entities_protocol PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_dimstyle_override PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_linetype_override_R2000 PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_linetype_override_R2007 PASSED [ 17%] tests/test_02_dxf_graphics/test_217_dimlines_R2000.py::test_dimstyle_override_arrows PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_create_polyline2D PASSED [ 17%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_create_polyline3D PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline3d_vertex_layer PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline3d_change_polyline_layer PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_set_vertex PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_points PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_point_slicing PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_poyline2d_append_vertices PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_insert_vertices PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_delete_one_vertex PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyline2d_delete_two_vertices PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_create_mesh PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_set_vertex PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_error_nindex PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_error_mindex PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polymesh_mesh_cache PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_create_face PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_add_face PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_face_indices PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_add_two_face_indices PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_faces PASSED [ 18%] tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py::test_polyface_optimized_cube PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_default_settings PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1018_default_settings PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1018_true_color PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1018_color_name PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1018_transparency PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_ac1021_default_settings PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_line PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_circle PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_arc PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_trace PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_solid PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_3dface PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_text PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_set_alignment PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_set_fit_alignment PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_get_alignment PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_get_pos_TOP_CENTER PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_text_get_pos_LEFT PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_shape PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_create_ray PASSED [ 18%] tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py::test_xline_ray PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_registered PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_default_init PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_default_new PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_load_from_text PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_write_dxf PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_has_const_width PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_has_any_start_width PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_has_any_end_width PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_has_arc PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_1.py::test_raises_dxf_structure_error_for_missing_AcDbPolyline_subclass PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_new_line PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_get_point PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_slicing PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_set_point PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_get_point_error PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_insert_point PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_del_points PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_append_points PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_context_manager PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_clear PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_delete_const_width PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_vertices PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_format_point PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_point_to_array PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_packed_points_basics PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_packed_points_advanced PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_packed_points_to_dxf_tags PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_packed_points_to_dxf_tags_with_bulge PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_2.py::test_lwpolyline_transform_interface PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_3.py::test_lwpolyline_to_path PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_virtual_entities PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_virtual_sub_entities_source_tracking PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_virtual_entities_elevation PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_closed_polyline PASSED [ 18%] tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py::test_explode_entities PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_registered PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_default_init PASSED [ 18%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_default_new PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_extrusion_can_not_be_a_null_vector PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_major_axis_can_not_be_a_null_vector PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[-2] PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[-1] PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[0] PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[1] PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_is_always_valid[2] PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_can_be_negative[-1] PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_can_be_negative[-0.5] PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_ratio_can_be_negative[-1e-09] PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_load_from_text PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_get_start_and_end_vertex PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_write_dxf PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_from_arc PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_adding_ellipse_with_too_big_ratio PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_adding_ellipse_with_too_small_ratio PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_adding_ellipse_with_invalid_major_axis PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_audit_max_ratio PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_audit_min_ratio PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::TestEllipseParameters::test_audit_invalid_major_axis PASSED [ 19%] tests/test_02_dxf_graphics/test_221_ellipse.py::test_malformed_ellipse PASSED [ 19%] tests/test_02_dxf_graphics/test_222_xline.py::test_registered PASSED [ 19%] tests/test_02_dxf_graphics/test_222_xline.py::test_default_init PASSED [ 19%] tests/test_02_dxf_graphics/test_222_xline.py::test_default_new PASSED [ 19%] tests/test_02_dxf_graphics/test_222_xline.py::test_load_from_text PASSED [ 19%] tests/test_02_dxf_graphics/test_222_xline.py::test_write_dxf PASSED [ 19%] tests/test_02_dxf_graphics/test_222_xline.py::test_xline_transform PASSED [ 19%] tests/test_02_dxf_graphics/test_222_xline.py::test_xline_fast_translation PASSED [ 19%] tests/test_02_dxf_graphics/test_223_ray.py::test_registered PASSED [ 19%] tests/test_02_dxf_graphics/test_223_ray.py::test_default_init PASSED [ 19%] tests/test_02_dxf_graphics/test_223_ray.py::test_default_new PASSED [ 19%] tests/test_02_dxf_graphics/test_223_ray.py::test_load_from_text PASSED [ 19%] tests/test_02_dxf_graphics/test_223_ray.py::test_write_dxf PASSED [ 19%] tests/test_02_dxf_graphics/test_224_group.py::test_group_table_is_empty PASSED [ 19%] tests/test_02_dxf_graphics/test_224_group.py::test_create_new_group PASSED [ 19%] tests/test_02_dxf_graphics/test_224_group.py::test_create_unnamed_group PASSED [ 19%] tests/test_02_dxf_graphics/test_224_group.py::test_delete_group_by_entity PASSED [ 19%] tests/test_02_dxf_graphics/test_224_group.py::test_delete_group_by_name PASSED [ 19%] tests/test_02_dxf_graphics/test_224_group.py::test_add_entities PASSED [ 19%] tests/test_02_dxf_graphics/test_224_group.py::test_extend_group PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_registered PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_default_init PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_virtual_text_attribute PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_setup_by_virtual_text_attribute PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_hasattr_for_virtual_text_attribute_is_always_false PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_default_new PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_load_from_text PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_write_dxf PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_expected_python_backslash_decoding PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_required_escaping_of_line_endings_at_dxf_export[test\ntext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_required_escaping_of_line_endings_at_dxf_export[test\r\ntext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_required_escaping_of_line_endings_at_dxf_export[test\ntext\rtext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_new_long_mtext[a new mtext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_new_long_mtext[0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789a new mtext] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_new_long_mtext[0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij] PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_default_text_chunk_size_of_250_chars PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_text_direction_wins_over_rotation PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_rotation_replaces_text_direction PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_append_text PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_location PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_bg_color PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_bg_true_color PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_delete_bg_color PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_bg_canvas_color PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_set_text_frame_only PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_transform_interface PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_bg_fill_flags PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_get_text_direction_from_text_direction PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_get_text_direction_from_rotation PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_convert_rotation_to_text_direction PASSED [ 19%] tests/test_02_dxf_graphics/test_225_mtext.py::test_get_ucs PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_registered PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_default_init PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_default_new PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_load_from_text PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_write_dxf PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_tangent[start] PASSED [ 19%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_tangent[end] PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_users_cant_set_invalid_tangents[start] PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_users_cant_set_invalid_tangents[end] PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_ignore_invalid_tangent_values_at_loading_stage PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_knot_values PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_weights PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_control_points PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_fit_points PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_open_uniform PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_uniform PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_closed PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_open_rational PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_uniform_rational PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_set_closed_rational PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_open_spline PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_open_rational_spline PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_spline_transform_interface PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_from_circle PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_from_arc PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_from_ellipse PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline.py::test_from_line_with_type_error PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline_with_linear_segments.py::test_flatten_spline PASSED [ 20%] tests/test_02_dxf_graphics/test_226_spline_with_linear_segments.py::test_make_path PASSED [ 20%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_mesh_geometric_data PASSED [ 20%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_create_vertex_array PASSED [ 20%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_create_face_list PASSED [ 20%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_create_edge_array PASSED [ 20%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_create_crease_array PASSED [ 20%] tests/test_02_dxf_graphics/test_227_mesh_packed_data.py::test_face_indices_as_array PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_registered PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_default_init PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_default_new PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_load_from_text PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_write_dxf PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_mesh_properties PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_mesh_dxf_attribs PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_mesh_geometric_data PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_create_empty_mesh PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_add_faces PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_add_edge_crease PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_dxf_export_adds_required_crease_values PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_dxf_export_removes_crease_not_required PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_auditor_fixes_invalid_crease_count PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_vertex_format PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_optimize PASSED [ 20%] tests/test_02_dxf_graphics/test_228_mesh.py::test_mesh_transform_interface PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_if_registered PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_default_init PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_default_new PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_load_from_text PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_seeds PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_write_dxf PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_write_correct_polyline_path_tag_order PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_hatch_boundary_state PASSED [ 20%] tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py::test_hatch_boundary_default_state PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_default_settings PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_default_hatch_settings PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_get_seed_points PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_set_seed_points PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_remove_all_paths PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_polyline_path_attribs PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_polyline_path_vertices PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_edge_path_count PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_edge_path_type PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_edge_path_edges PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_spline_edge_hatch_get_params PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_spline_edge PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_required_tangents_for_spline_edge_if_fit_points_present PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_no_fit_points_export PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_is_pattern_hatch PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_edit_pattern PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_new_pattern_hatch PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_pattern_scale PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_pattern_scale_x_times PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_pattern_rotation PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_pattern_rotation_add_angle PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_gradient PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_create_gradient_low_level_dxf_tags PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_remove_gradient_data PASSED [ 20%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_remove_gradient_low_level_dxf_tags PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_bgcolor_not_exists PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_set_new_bgcolor PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_change_bgcolor PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_delete_bgcolor PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_delete_not_existing_bgcolor PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_associate_valid_entity PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_if_hatch_is_alive_before_association PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_can_not_associate_entity_from_different_document PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_can_not_associate_entity_with_different_owner PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_can_not_associate_destroyed_entity PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_triangulate_hatch PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_triangulate_with_elevation PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_render_pattern_lines PASSED [ 21%] tests/test_02_dxf_graphics/test_229b_hatch_extended.py::test_render_pattern_lines_with_elevation PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_polyline_path_transform_interface PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_edge_path_transform_interface PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_full_circle_ellipse_edge_rotation[arc] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_full_circle_ellipse_edge_rotation[ellipse] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_full_circle_edge_scaling PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-x] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-y] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-xy] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-x] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-y] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_ocs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-xy] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-x] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-y] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[arc-mirror-xy] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-x] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-y] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_of_clockwise_oriented_curves[ellipse-mirror-xy] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_for_all_edge_types[mirror-x] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_for_all_edge_types[mirror-y] PASSED [ 21%] tests/test_02_dxf_graphics/test_229c_hatch_transformations.py::test_wcs_mirror_transformations_for_all_edge_types[mirror-xy] PASSED [ 21%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_registered PASSED [ 21%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_default_init PASSED [ 21%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_default_new PASSED [ 21%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_load_from_text PASSED [ 21%] tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py::test_image_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_set_raster_variables PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_imagedef_attribs PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_image_dxf_attribs PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_reset_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_set_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_post_load_hook_creates_image_def_reactor PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_exception_while_fixing_image_def_reactor PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_post_load_hook_destroys_image_without_valid_image_def PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_new_image_def PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_create_and_delete_image PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_create_and_copy_image PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_moving_to_another_layout PASSED [ 21%] tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py::test_copying_to_another_layout PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_registered PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_default_init PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_default_new PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_load_from_text PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_write_dxf PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_dwf_underlay PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay.py::test_dgn_underlay PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_pdf_def_properties PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_pdf_def_dxf_attribs PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_pdf_properties PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_pdf_dxf_attribs PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_get_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_reset_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_set_boundary_path PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_set_scale PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_new_pdf_underlay_def PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::test_new_pdf PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::TestCopyAndTransformUnderlay::test_copied_underlay_has_same_underlay_definition PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::TestCopyAndTransformUnderlay::test_underlay_definition_has_reactor_handles_to_copies PASSED [ 21%] tests/test_02_dxf_graphics/test_231_underlay_2.py::TestCopyAndTransformUnderlay::test_transform_underlay PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_body_default_settings PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_body_getting_acis_data PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_region_default_settings PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_region_getting_acis_data PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_3dsolid_default_settings PASSED [ 21%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_3dsolid_getting_acis_data PASSED [ 22%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_tag2lines PASSED [ 22%] tests/test_02_dxf_graphics/test_232a_add_acis.py::test_lines2tags PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_registered PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_default_init PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_default_new PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_load_from_text PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_regular_dxf_export_of_empty_acis_entities PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_body_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_region_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_3dsolid_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_surface_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_extruded_surface_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_lofted_surface_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_revolved_surface_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_232b_acis_export.py::test_swept_surface_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_extruded_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_lofted_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_swept_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232c_acis_surface.py::test_revolved_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_body PASSED [ 22%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_region PASSED [ 22%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_3dsolid PASSED [ 22%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_extruded_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_lofted_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_revolved_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAT::test_copy_swept_surface PASSED [ 22%] tests/test_02_dxf_graphics/test_232d_acis_copy.py::TestCopySAB::test_copy_body PASSED [ 22%] tests/test_02_dxf_graphics/test_232e_acis_transform.py::test_supports_temporary_transform PASSED [ 22%] tests/test_02_dxf_graphics/test_232e_acis_transform.py::test_add_and_get_transform PASSED [ 22%] tests/test_02_dxf_graphics/test_232e_acis_transform.py::test_apply_temp_transform PASSED [ 22%] tests/test_02_dxf_graphics/test_232e_acis_transform.py::test_transform_and_copy PASSED [ 22%] tests/test_02_dxf_graphics/test_233_helix.py::test_registered PASSED [ 22%] tests/test_02_dxf_graphics/test_233_helix.py::test_default_init PASSED [ 22%] tests/test_02_dxf_graphics/test_233_helix.py::test_default_new PASSED [ 22%] tests/test_02_dxf_graphics/test_233_helix.py::test_load_from_text PASSED [ 22%] tests/test_02_dxf_graphics/test_233_helix.py::test_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_233_helix.py::test_generic_helix PASSED [ 22%] tests/test_02_dxf_graphics/test_234_light.py::test_registered PASSED [ 22%] tests/test_02_dxf_graphics/test_234_light.py::test_default_init PASSED [ 22%] tests/test_02_dxf_graphics/test_234_light.py::test_default_new PASSED [ 22%] tests/test_02_dxf_graphics/test_234_light.py::test_load_from_text PASSED [ 22%] tests/test_02_dxf_graphics/test_234_light.py::test_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_234_light.py::test_add_light PASSED [ 22%] tests/test_02_dxf_graphics/test_235_leader.py::test_registered PASSED [ 22%] tests/test_02_dxf_graphics/test_235_leader.py::test_default_init PASSED [ 22%] tests/test_02_dxf_graphics/test_235_leader.py::test_default_new PASSED [ 22%] tests/test_02_dxf_graphics/test_235_leader.py::test_load_from_text PASSED [ 22%] tests/test_02_dxf_graphics/test_235_leader.py::test_write_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_235_leader.py::test_add_leader PASSED [ 22%] tests/test_02_dxf_graphics/test_235_leader.py::test_supports_virtual_entities_protocol PASSED [ 22%] tests/test_02_dxf_graphics/test_235_leader.py::test_virtual_sub_entities_source_tracking PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::test_new_multileader PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::test_synonym_mleader PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMLeaderStyle::test_standard_mleader_style PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMLeaderStyle::test_audit_fixes_invalid_text_style_handle PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMLeaderStyle::test_audit_fixes_invalid_arrow_head_handle PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMLeaderStyle::test_audit_fixes_invalid_block_record_handle PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeaderLine::test_parse PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeaderLine::test_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeaderLine::test_transform PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeader::test_parse PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeader::test_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeader::test_transform PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestLeader::test_scaling PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_context_attribs_definition PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_mleader_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_mtext_data_attribs_definition PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_load_mtext_context PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_mtext_data PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_transform_context PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_transform_context_reversed_extrusion PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_transform_mtext_data PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestMTextContext::test_transform_mtext_extrusion PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_context_attribs_definition PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_mleader_export_dxf PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_block_data_attribs_definition PASSED [ 22%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_load_block_context PASSED [ 23%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_block_data PASSED [ 23%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_get_transformation_matrix PASSED [ 23%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_set_transformation_matrix PASSED [ 23%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_transform_block_data PASSED [ 23%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_transform_block_data_x_reflection PASSED [ 23%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_transform_block_data_y_reflection PASSED [ 23%] tests/test_02_dxf_graphics/test_236_multileader.py::TestBlockContext::test_transform_block_data_xy_reflection PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_unbounded_mline PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_generic_mline PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_set_justification PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_set_scale_factor PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_close_state PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_point_count_management PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_add_first_vertex PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_add_two_vertices PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_x_rotation PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_translate PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_uniform_scale PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_non_uniform_scale PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_support_virtual_entities_protocol PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLine::test_virtual_sub_entities_source_tracking PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_standard_mline_style PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_set_defined_style PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_set_undefined_style PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_ordered_indices PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineStyle::test_invalid_element_count PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineVertex::test_load_tags PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineVertex::test_new PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineVertex::test_export_dxf PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_valid_mline PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_style_name PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_style_handle PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_style_handle_by_name PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_line_direction PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_miter_direction PASSED [ 23%] tests/test_02_dxf_graphics/test_237_mline.py::TestMLineAudit::test_fix_invalid_line_parameters PASSED [ 23%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_registered PASSED [ 23%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_default_init PASSED [ 23%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_default_new PASSED [ 23%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_load_from_text PASSED [ 23%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_write_dxf PASSED [ 23%] tests/test_02_dxf_graphics/test_238_tolerance.py::test_add_tolerance PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::test_load_proxy_graphic PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::test_export_proxy_graphic PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_info PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_supports_virtual_entities_protocol PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_multi_leader_entities PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_image_entities PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_circular_arc_entities PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_can_parse_R2000_lwpolyline PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_can_parse_R2018_lwpolyline PASSED [ 23%] tests/test_02_dxf_graphics/test_239_proxy_graphic.py::TestProxyGraphic::test_polygon_creation PASSED [ 23%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_load_arc_dimension PASSED [ 23%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_dimtype_is_8_for_R2018 PASSED [ 23%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_export_proxy_graphic_R2010 PASSED [ 23%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_export_proxy_graphic_R2013 PASSED [ 23%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_export_dimtype_R2013 PASSED [ 23%] tests/test_02_dxf_graphics/test_240_arc_dimension.py::test_export_dimtype_R2018 PASSED [ 23%] tests/test_02_dxf_graphics/test_241_hyperlink.py::test_set_hyperlink PASSED [ 23%] tests/test_02_dxf_graphics/test_241_hyperlink.py::test_set_description PASSED [ 23%] tests/test_02_dxf_graphics/test_241_hyperlink.py::test_set_location PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[2-2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[-1-1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[1--1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[1-1--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[-2--2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[2--2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[-2-2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_circle_transformation[-3--3--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[2-2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[-1-1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[1--1-1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[1-1--1] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[-2--2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[2--2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[-2-2--2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_arc_transformation[-3--3--3] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-2-2-2] PASSED [ 23%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--1-1-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-1--1-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-1-1--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--2--2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-2--2--2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--2-2--2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--3--3--3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--1-2-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-1--2-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-1-2--3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--3--2-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793-3--2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--3-2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0-3.141592653589793--3--2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-2-2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--1-1-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1--1-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1-1--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--2--2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-2--2--2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--2-2--2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--3--3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--1-2-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1--2-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1-2--3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--2-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-3--2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3-2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-2-2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--1-1-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1--1-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1-1--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--2--2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-2--2--2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--2-2--2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--3--3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--1-2-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1--2-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1-2--3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--2-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-3--2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3-2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[2-2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-1-1-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[1--1-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[1-1--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-2--2-2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[2--2--2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-2-2--2] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-3--3--3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-1-2-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[1--2-3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[1-2--3] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-3--2-1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[3--2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-3-2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_random_block_reference_transformation[-3--2--1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[1.1-1.1-1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[-1.1--1.1--1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[-1.1-1.1-1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[1.1--1.1-1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[1.1-1.1--1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[-1.1--1.1-1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[1.1--1.1--1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_242_random_transform.py::test_apply_transformation_multiple_times[-1.1-1.1--1.1] PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_add_entity PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_entity PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_entity_without_layout PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_convert_circle_to_ellipse PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_circle_by_ellipse PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_convert_circle_to_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_circle_by_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_convert_ellipse_to_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_243_replace_entity.py::test_replace_ellipse_by_spline PASSED [ 24%] tests/test_02_dxf_graphics/test_244_large_radial_dimension.py::test_load_dimension PASSED [ 24%] tests/test_02_dxf_graphics/test_244_large_radial_dimension.py::test_export_dimension PASSED [ 24%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_wipeout_default_new PASSED [ 25%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_wipeout_write_dxf PASSED [ 25%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_wipeout_creator_interface PASSED [ 25%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_copy_wipeout PASSED [ 25%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_wipeout_vars PASSED [ 25%] tests/test_02_dxf_graphics/test_245_wipeout.py::test_boundary_path_wcs PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[0-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[1-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[2-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[3-3] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[4-4] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_without_given_end_tangents[5-5] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[0-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[1-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[2-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[3-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[4-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_fit_points_with_given_end_tangents[5-3] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[0-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[1-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[2-2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[3-3] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_required_control_points_calculation[4-4] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_any_points_present PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::test_degree_of_spline PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_if_fit_point_count_is_valid[1] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_if_fit_point_count_is_valid[2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_if_fit_point_count_is_valid[3] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_if_fit_point_count_is_valid[4] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_remove_unused_knot_values PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestFitPoints::test_remove_unused_weights PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_control_point_count[1] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_control_point_count[2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_control_point_count[3] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_control_point_count[4] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_knot_value_count[1] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_knot_value_count[2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_knot_value_count[3] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_knot_value_count[4] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_weight_count[1] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_weight_count[2] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_weight_count[3] PASSED [ 25%] tests/test_02_dxf_graphics/test_246_spline_audit.py::TestControlPoints::test_auditing_weight_count[4] PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_mtext_attribs_from_embedded_object[DYN_MANUAL] PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_mtext_attribs_from_embedded_object[DYN_AUTO] PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_mtext_attribs_from_embedded_object[STATIC] PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_dynamic_cols_manual_height PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_dynamic_cols_with_auto_height PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_load_static_cols PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_export_static_columns_as_embedded_object PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_export_dynamic_columns_auto_height_as_embedded_object PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_export_dynamic_columns_manual_height_as_embedded_object PASSED [ 25%] tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py::test_create_new_mtext_with_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_if_registered PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_default_init PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_default_new PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_fill_properties_without_solid_filling PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_fill_properties_with_solid_filling PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_load_from_text PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_no_fill PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_r2004_no_fill_requires_basic_gradient_data PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_with_fill PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_R2004_with_fill PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_correct_polyline_path_tag_order PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_write_dxf_with_pattern_fill PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mpolygon.py::test_do_not_export_mpolygon_with_edge_paths PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_load_dynamic_cols_manual_height PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_load_dynamic_cols_with_auto_height PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_load_static_cols PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_mtext_without_column_info PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_set_columns_xdata[STATIC] PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_set_columns_xdata[DYNAMIC_AUTO] PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_set_columns_xdata[DYNAMIC_MANUAL] PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_create_new_mtext_with_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_destroy_mtext_with_linked_columns PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_add_mtext_with_linked_columns_to_entitydb PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_add_mtext_with_linked_columns_to_msp PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_delete_mtext_with_linked_columns_from_entitydb PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_discard_mtext_with_linked_columns_from_entitydb PASSED [ 25%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_destroy_mtext_with_linked_columns_from_entitydb PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_copy_mtext_with_linked_columns PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_transform_mtext_with_linked_columns PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_scale_mtext_with_linked_columns PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_sync_common_attribs_of_linked_columns PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::test_remove_dependencies_from_mtext_and_linked_columns PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestPreprocessDXFExport::test_successful_preprocessing PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestPreprocessDXFExport::test_accept_invalid_column_count PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestPreprocessDXFExport::test_fail_for_destroyed_columns PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestGetColumnContent::test_get_raw_content_of_all_columns PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestGetColumnContent::test_get_plain_text_of_all_columns_as_string PASSED [ 26%] tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py::TestGetColumnContent::test_get_plain_text_of_all_columns_as_list_of_strings PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_add_polyline_path PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_add_edge_path PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_polyline_path_with_arcs_to_edge_path PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_arc_to_ellipse_edges PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_ellipse_edges_to_spline_edges PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::test_edge_to_polyline_paths PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::TestValidatingBoundaryPaths::test_spline_edge_has_valid_knot_count PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::TestValidatingBoundaryPaths::test_spline_edge_has_enough_control_points PASSED [ 26%] tests/test_02_dxf_graphics/test_249_boundary_paths.py::TestValidatingBoundaryPaths::test_spline_edge_has_enough_fir_points PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_returns_one_path PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_path_has_six_entities PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_expected_entity_types PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_arc_0_parameters PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_ellipse_1_parameters PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_line_parameters PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_ellipse_3_parameters PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_arc_4_parameters PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_spline_parameters PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_spline_control_points PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestVirtualEntitiesFromEdgePath::test_spline_knots PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_wcs_line PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_wcs_spline PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_ocs_clockwise_arc PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_ocs_counter_clockwise_arc PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_wcs_clockwise_ellipse PASSED [ 26%] tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py::TestSpatialTransformation::test_wcs_counter_clockwise_ellipse PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[0.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[30.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[60.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[90.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[180.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[270.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-30.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-60.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-90.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-180.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_flip_deg_angle[-270.0] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_safety_checks PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_circle_dxf_attributes PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_circle_geometry PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_arc_dxf_attributes PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_arc_geometry PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_quadrilaterals[Solid] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_quadrilaterals[Trace] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_ellipse PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_polyline[lwpolyline] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_polyline[polyline2d] PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_hatch_with_polyline_path PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_hatch_with_edge_path PASSED [ 26%] tests/test_02_dxf_graphics/test_251_upright.py::test_upright_insert PASSED [ 26%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_load_acad_proxy_entity PASSED [ 26%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_export_exact_original_data PASSED [ 26%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_virtual_entities_support PASSED [ 26%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_virtual_sub_entities_source_tracking PASSED [ 26%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_virtual_entities_if_no_proxy_graphic_exists PASSED [ 26%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_supports_virtual_entities_protocol PASSED [ 26%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_proxy_entity_is_not_transformable PASSED [ 26%] tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py::test_proxy_graphic_is_not_copyable PASSED [ 26%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_sublass_is_loaded PASSED [ 26%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_dxf_type PASSED [ 26%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_bounding_box PASSED [ 26%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_export_exact_original_data PASSED [ 26%] tests/test_02_dxf_graphics/test_253_ole2frame.py::test_binary_data PASSED [ 26%] tests/test_02_dxf_graphics/test_254_get_font_name.py::test_get_font_name_for_entity_without_font_support PASSED [ 26%] tests/test_02_dxf_graphics/test_254_get_font_name.py::test_get_font_name_for_text PASSED [ 26%] tests/test_02_dxf_graphics/test_254_get_font_name.py::test_undefined_text_style PASSED [ 26%] tests/test_02_dxf_graphics/test_254_get_font_name.py::test_get_font_name_for_mtext PASSED [ 26%] tests/test_03_dxf_layouts/test_300_layout.py::test_default_properties PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_set_units PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_delete_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_delete_all_entities PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_paper_space PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_iter_layout PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_query_entities PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_model_space_get_layout_for_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_paper_space_get_layout_for_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_default_entity_settings PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_clone_dxfattribs PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_invalid_layer_name PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::test_create_layout PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_get_modelspace PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_layout_returns_first_layout_in_tab_order PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_paperspace_returns_active_paperspace_by_default PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_paperspace_returns_paperspace_by_name PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_paperspace_raises_key_error_if_not_exists PASSED [ 27%] tests/test_03_dxf_layouts/test_300_layout.py::TestAcquireLayouts::test_paperspace_raises_key_error_for_modelspace PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_delete_polyline3d PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_unlink_unsupported_graphic_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_delete_unsupported_graphic_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_cannot_add_invalid_dxf_objects PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_line PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_point PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_circle PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_arc PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_trace PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_solid PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_3dface PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_text PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_create_shape PASSED [ 27%] tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py::test_post_bind_hook_call PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_create_blockref PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_attrib_get_flags PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_attrib_set_flags PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_add_new_attribs PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_add_to_attribs PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_place PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_lockref_grid PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_attribs_follow_abuse PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_not_existing_attrib PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_not_existing_attrib_without_exception PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_last_attrib PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_one_of_many_attribs PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_first_of_many_attribs PASSED [ 27%] tests/test_03_dxf_layouts/test_302_block_references.py::test_blockref_delete_all_attribs PASSED [ 27%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_auto_blockref PASSED [ 27%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_blockref_with_attribs PASSED [ 27%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_has_attdef PASSED [ 27%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_get_attdef PASSED [ 27%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_get_attdef_text PASSED [ 27%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_attdef_getter_properties PASSED [ 27%] tests/test_03_dxf_layouts/test_303_auto_block_references.py::test_attdef_setter_properties PASSED [ 27%] tests/test_03_dxf_layouts/test_304_new_entity_space.py::test_init PASSED [ 27%] tests/test_03_dxf_layouts/test_304_new_entity_space.py::test_existence PASSED [ 27%] tests/test_03_dxf_layouts/test_304_new_entity_space.py::test_remove PASSED [ 27%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_copy_simple_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_copy_polyline_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_move_simple_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_move_polyline_to_paperspace PASSED [ 27%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_move_polyline_to_block PASSED [ 27%] tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py::test_move_from_block_to_block PASSED [ 27%] tests/test_03_dxf_layouts/test_306_copy_linked_entities.py::test_duplicate_simple_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_306_copy_linked_entities.py::test_duplicate_polyline_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_306_copy_linked_entities.py::test_duplicate_insert_with_attribs_entity PASSED [ 27%] tests/test_03_dxf_layouts/test_307_groupby.py::test_groupby_dxfattrib PASSED [ 27%] tests/test_03_dxf_layouts/test_307_groupby.py::test_groupby_not_existing_dxfattrib PASSED [ 27%] tests/test_03_dxf_layouts/test_307_groupby.py::test_groupby_key PASSED [ 27%] tests/test_03_dxf_layouts/test_307_groupby.py::test_groupby_result PASSED [ 27%] tests/test_03_dxf_layouts/test_307_groupby.py::test_calling_convention PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestNameQuery::test_all_names PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestNameQuery::test_some_names PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::TestNameQuery::test_exclude_some_names PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_remove_supports_virtual_entities PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_empty_init PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_select_all PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_first PASSED [ 27%] tests/test_03_dxf_layouts/test_308_query.py::test_last PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_new_query_select_all PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_new_empty_query PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_select_line PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_select_layer_1 PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_select_unicode_layer_name PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_select_layer_1_exclude_line PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_match_regex PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_match_regex_not_text PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_match_whole_string PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_not_supported_attribute PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_bool_select PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_bool_select_2 PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_bool_select_3 PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_bool_select_4 PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_ignore_case PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_ignore_case_for_num_values PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_ignore_case_match_regex PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_extend_query PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_all_names PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_match_one_string PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_match_full_string PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_match_default_values PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_iter_does_not_remove_destroyed_entities PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::test_purge_does_remove_destroyed_entities PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_select_entities_with_supported_attribute PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_set_item_accepts_only_strings_as_key PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_set_item_set_supported_dxf_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_set_item_ignores_unsupported_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_set_item_does_not_ignore_invalid_attribute_values PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestGetSetDelItemInterface::test_del_item_ignores_unsupported_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestVirtualAttributes::test_get_virtual_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestVirtualAttributes::test_set_virtual_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestVirtualAttributes::test_cannot_delete_virtual_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_no_selected_dxf_attribute_raises_type_error PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_is_equal_operator PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_is_not_equal_operator PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_query_is_case_insensitive_by_default PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_less_than_operator PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_less_than_raises_type_error_for_vector_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_greater_than_operator PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_greater_than_raises_type_error_for_vector_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_less_equal_operator PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_less_equal_raises_type_error_for_vector_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_greater_equal_operator PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_greater_equal_raises_type_error_for_vector_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestOperatorSelection::test_filter_operator PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestRegexMatch::test_match_nothing PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestRegexMatch::test_match_is_case_insensitive PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestRegexMatch::test_match_case_insensitive PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestRegexMatch::test_match_invalid_attributes_raise_type_error PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_union PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_union_unique_entities PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_difference PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_intersection PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_symmetric_difference PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestSetOperations::test_operator_combination PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_select_layers PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_set_layer_attribute PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_delete_layer_attribute PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_color_descriptor_exists PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_linetype_descriptor_exists PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_lineweight_descriptor_exists PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_ltscale_descriptor_exists PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_invisible_descriptor_exists PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_true_color_descriptor_exists PASSED [ 28%] tests/test_03_dxf_layouts/test_308_query.py::TestDescriptors::test_transparency_descriptor_exists PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_without_wildcards PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_two_entity_names PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_star_wildcard PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_wrong_star_wildcard PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_star_wildcard_2 PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_star_wildcard_3 PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithoutAttributes::test_star_wildcard_4 PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_empty_attribute_list_not_allowed PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_one_attribute PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_double_quoted_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_single_quoted_attributes PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_attribute_name_with_underscore PASSED [ 28%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_star_with_one_attribute PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_lt PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_le PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_eq PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_ne PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_ge PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_relation_gt PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_regex_match PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_not_regex_match PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestEntityQueryParserWithAttributes::test_appended_ignore_case_option PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_not_operation PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_and_operation PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_or_operation PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_not_operation_with_brackets PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_operation_with_brackets PASSED [ 29%] tests/test_03_dxf_layouts/test_309_query_parser.py::TestInfixBoolQuery::test_operation_with_nested_brackets PASSED [ 29%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_01_copy_foreign_entities_reset_resources PASSED [ 29%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_02_copy_foreign_entities_with_resources PASSED [ 29%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_03_move_foreign_entities PASSED [ 29%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_04_move_foreign_entities_with_resources PASSED [ 29%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_05_copy_polyline_reset_resources PASSED [ 29%] tests/test_03_dxf_layouts/test_311_add_foreign_entity.py::test_06_move_polyline PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_add_simple_entities PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_entities_have_no_handle PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_removing_entiy_does_not_destroy_entity PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_purge_destroyed_entities PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_can_add_entity_to_a_real_layout PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_copy_all_entities_to_a_real_layout PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_move_all_entities_to_a_real_layout PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_copy_all_sub_entities_to_a_real_layout PASSED [ 29%] tests/test_03_dxf_layouts/test_312_virtual_layout.py::test_move_all_sub_entities_to_a_real_layout PASSED [ 29%] tests/test_03_dxf_layouts/test_313_redraw_order.py::test_set_redraw_order PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_new_drawing PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_valid_header PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_invalid_header_structure PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_invalid_header_var_name PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get_acadver PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get_insbase PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_getitem_keyerror PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_set_existing_var PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_set_existing_point PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_set_unknown_var PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_create_var PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_create_var_wrong_args_2d PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_create_var_wrong_args_3d PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_contains PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_not_contains PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_remove_headervar PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_str_point PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_new_dxf12 PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_custom_properties_exists PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_order_of_occurrence PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get_custom_property PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_get_custom_property_2 PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_add_custom_property PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_remove_custom_property PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_remove_not_existing_property PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_replace_custom_property PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_replace_not_existing_property PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_header_vars[$ACADMAINTVER-AC1032-90] PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_header_vars[$ACADMAINTVER-AC1027-70] PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_header_vars[$XCLIPFRAME-AC1021-290] PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_header_vars[$XCLIPFRAME-AC1024-280] PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_401_headersection.py::test_version_specific_group_code_raises_key_error_for_unknown_names PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_402_classessection.py::test_write PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_402_classessection.py::test_empty_section PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_402_classessection.py::test_count_class_instances PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_get_value PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_set_value PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_del_value PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_delete_entity PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_delete_dead_entity_entity PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_keys PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_values PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_items PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_get PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_add_tags PASSED [ 29%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_len PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_restore_integrity_purge PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_restore_integrity_recover PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_restore_integrity_remove_invalid_None PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_restore_integrity_remove_invalid_handle PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_add_entity_multiple_times PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_discard_contained_entity PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_discard_entity_with_none_handle PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_discard_entity_with_handle_not_in_database PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_trashcan_context_manager PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_reset_entity_handle PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_can_not_reset_entity_handle PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_403_entity_database.py::test_query_method_exist PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_constructor PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_getattr_upper_case PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_error_getattr PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_entry_by_handle PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_non_existing_entry_by_handle PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_handle_of_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_handle_of_non_existing_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestGenericTableFeatures::test_get_entry_by_handle_is_type_safe PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLayerTableEntry::test_add_layer PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLayerTableEntry::test_check_invalid_aci_color PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLayerTableEntry::test_check_invalid_line_weight PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLayerTableEntry::test_add_new_line_type PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_add_new_ttf_font_text_style PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_add_new_shape_file PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_add_multiple_shape_files PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_get_shape_file PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_find_shape_file PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_if_shape_file_entry_exist PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_discard_shape_files PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_discard_not_existing_shape_file PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestTextStyleTable::test_export_multiple_shape_file_entries PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404a_tables.py::TestLineTypeTable::test_add_new_line_type PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_len PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_iter PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_is_unique_name PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_contains PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_contains_is_case_insensitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_getitem PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_getitem_is_case_insensitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_get PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestGetterMethods::test_get_is_case_insensitive PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestCreateNewEntry::test_new_entry_is_an_object PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestCreateNewEntry::test_new_entry_is_added_to_collection PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestCreateNewEntry::test_cannot_use_existing_name PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestCreateNewEntry::test_invalid_char_in_name_raises_exception PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDeleteEntry::test_delete_entry_remove_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDeleteEntry::test_delete_non_existing_entry_does_not_raise_exception PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_duplicate_existing_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_duplicate_non_existing_entry_raises_exception PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_new_entry_replaces_existing_entry PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_duplicated_entries_have_same_content PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_duplicated_entry_is_stored_in_objects_section PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::TestDuplicateEntry::test_invalid_char_in_new_name_raises_exception PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_404b_object_collections.py::test_clear PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_init PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_add_known_class PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_add_required_classes PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_double_keys PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_export_dxf PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_405_classes.py::test_load_section PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_empty_section PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_key PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_is_layout_block PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_overwrite_existing_block PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_not_in_blocks_section PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_getitem PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_new_block_layout PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_case_insensitivity PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_iter_blocks PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_block_content_entity_drawing_attribute PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_delete_block PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_safe_delete_block PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_do_not_delete_layouts_and_special_arrow_blocks PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_rename_block PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_dxf2000_dxf_block_structure PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_dxf2000_delete_block PASSED [ 30%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_dxf2000_delete_all_blocks PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_dxf2000_rename_block PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_406_blocks_section.py::test_update_block_flags PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_407_entity_section.py::test_iterate_entities_section PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::test_load_section PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_auditor_removes_invalid_entities PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_audit_restores_deleted_owner_tag PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_validate_known_dictionaries PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_remove_orphaned_dictionary_and_owned_entries PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_408_objects_section.py::TestAuditObjectSection::test_remove_orphaned_dictionary_but_preserve_shared_entries PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_409_create_objects.py::test_setup_rootdict PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_409_create_objects.py::test_add_new_sub_dict PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_409_create_objects.py::test_required_tables_exists PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_409_create_objects.py::test_new_plot_style_name_table PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_table_entry_dxf_type PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_ac1009_load_table PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_load_table_with_invalid_table_entry PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_ac1009_write PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_ac1024_load_table PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_ac1024_write PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_get_table_entry PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_entry_names_are_case_insensitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_duplicate_entry PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_410_table.py::test_create_vport_table PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_loader PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_default_section_does_not_have_records PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_loaded_section_does_not_have_records PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_acds_record PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_write_dxf PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_empty_acds_section_will_not_be_exported PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_get_acis_data PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_del_acis_data PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_reset_acis_data PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_set_new_acis_data PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_create_explicit_a_new_acis_data PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_411_acds_data.py::test_write_dxf_for_new_created_acis_record PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_412_rename_layer.py::test_rename_layer PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_412_rename_layer.py::test_rename_layer_errors PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_new_group PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_unique_groups PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_modify_group PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_can_not_add_invalid_block_entities PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_can_not_add_invalid_table_entry PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py::test_audit_filters_invalid_entities PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_virtual_entities_owner_and_handle PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_virtual_entities_source_block_reference PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_copying_entities_from_block_reference_removes_source_context PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_virtual_entities_transformation PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_explode_blockrefs PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_explode_polyline_bulge PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_explode_blockref_with_attrib PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_examine_uniform_scaled_ellipse PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_skipped_entities_callback PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[1-False] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[0.5-False] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[1-True] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[0.5-True] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[-1-False] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_curves[-1-True] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_and_stretched_curves[0.5-False] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_rotated_and_reflected_and_stretched_curves[0.5-True] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::test_explode_xref PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestSourceBlockReferenceFromNestedBlockReferences::test_virtual_entities_from_block_ref_0 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestSourceBlockReferenceFromNestedBlockReferences::test_virtual_entities_from_block_ref_1 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestSourceBlockReferenceFromNestedBlockReferences::test_virtual_entities_from_block_ref_2 PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestEntitiesInRedrawOrder::test_ascending_redraw_order PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py::TestEntitiesInRedrawOrder::test_descending_redraw_order PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_layout_dict_is_not_hard_owner PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_create_new_layout PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_reserved_model_space_name[Model] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_reserved_model_space_name[MODEL] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_reserved_model_space_name[model] PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_case_insensitive_layout_names PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_create_and_delete_new_layout PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_set_active_layout PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_rename_layout PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_415_layout_management.py::test_rename_not_existing_layout PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_do_nothing PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_convert_unsupported_entity_to_primitive PASSED [ 31%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_multiple_unsupported_entities_to_vertices PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_point_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_line_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_lwpolyline_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_circle_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_arc_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_ellipse_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_spline_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_mesh_entity_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_3_points[SOLID] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_3_points[TRACE] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_3_points[3DFACE] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_4_points[SOLID] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_4_points[TRACE] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_from_quadrilateral_with_4_points[3DFACE] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_poly_face_mesh_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_poly_mesh_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_2d_3d_polyline_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_2d_polyline_including_width_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_text_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_mtext_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_mtext_columns_to_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_hatch_returns_multiple_primitives PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_image_primitive PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_to_vertices PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416a_disassemble.py::test_to_control_vertices PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_level_0 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_0[normal] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_0[reflect-x] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_0[reflect-y] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_0[reflect-z] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_level_1 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_1[normal] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_1[reflect-x] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_1[reflect-y] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_block_reference_level_1[reflect-z] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::test_decompose_minsert_level_1 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_count_of_expected_virtual_entities PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_same_source_block_references_blk0 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_same_source_block_references_blk1 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_same_source_block_references_blk2 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py::TestSourceBlockReferences::test_link_structure_of_virtual_block_references PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_extend PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_line PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_empty_cache PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_multi_boxes[multi_flat-entities] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_multi_boxes[multi_flat-blockrefs] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_multi_boxes[multi_recursive-entities] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_multi_boxes[multi_recursive-blockrefs] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_without_handles PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_with_uuids PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_flat_multi_boxes[multi_flat] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_flat_multi_boxes[extents] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_recreation_on_the_fly PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_reused_virtual_entities[multi_flat] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_reused_virtual_entities[extents] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_for_reused_virtual_entities[multi_recursive] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_with_uuids_for_reused_virtual_entities[multi_flat] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_with_uuids_for_reused_virtual_entities[extents] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_cache_usage_with_uuids_for_reused_virtual_entities[multi_recursive] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_fast_bounding_box_calculation PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_417_bbox.py::test_precise_bounding_box_calculation PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_copy_entity_with_extension_dict PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_virtual_copy_with_extension_dict PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_source_of_copy_for_bound_entity PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_is_copy_state PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_origin_of_copy_for_copy_chains PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_418_copy_entities.py::test_source_of_copy_for_virtual_entity PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_420_load_dxf_file.py::test_load_dxf[R12] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_420_load_dxf_file.py::test_load_dxf[R2000] PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1009 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1015 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1018 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1021 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1024 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1027 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_new_AC1032 PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_421_new_drawings.py::test_invalid_dxf_version PASSED [ 32%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_dxfversion_1 PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_dxfversion_2 PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_acad_release PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_get_layer PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_error_getting_not_existing_layer PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_create_layer PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_error_adding_existing_layer PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_has_layer PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_has_not_layer PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_removing_layer PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_error_removing_not_existing_layer PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_r2000_dxfversion PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_r2000_acad_release PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_header_section PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_layers_table PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_styles_table PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_linetypes_table PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_blocks_section PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_min_r12_entity_section PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_chain_layout_and_block PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_base64_encoding_r12 PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_base64_encoding_r2000 PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_422_drawing_object.py::test_set_drawing_units PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_423_read_proe_r2004.py::test_open_proe_ac1018 SKIPPED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_color_index PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_lineweight_too_small PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_lineweight_too_big PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_invalid_lineweight PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_valid_layer_name PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_if_layer_linetype_exist PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_owner PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_text_style[TEXT] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_text_style[MTEXT] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_text_style[ATTRIB] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_for_existing_text_style[ATTDEF] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_block_cycle_detector_setup PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_block_cycle_detector PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_broken_block_cycle_detector PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_invalid_leader PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_invalid_insert PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_insert_scale PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_remove_invalid_entities_from_blocks PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_remove_standalone_attrib_entities_from_blocks PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_invalid_transparency PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_424_audit.py::test_fix_entities_with_invalid_owner_handle PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_new_doc_extents[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_new_doc_limits[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_modelspace_extents[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_modelspace_limits[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_layout1_extents[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_layout1_limits[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_modelspace_extents[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_modelspace_limits[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_active_msp_vport_config[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_active_layout1_viewport[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_layout1_active_viewport[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_new_doc_extents[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_new_doc_limits[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_modelspace_extents[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_modelspace_limits[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_layout1_extents[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_layout1_limits[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_modelspace_extents[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_modelspace_limits[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_active_msp_vport_config[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_default_active_layout1_viewport[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py::test_reset_layout1_active_viewport[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_created_by_ezdxf_metadata[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_created_by_ezdxf_metadata[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_written_by_ezdxf_metadata[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_written_by_ezdxf_metadata[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_add_custom_metadata[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_add_custom_metadata[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_non_existing_key_raises_key_error[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_non_existing_key_raises_key_error[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_modify_metadata[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_modify_metadata[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_delete_metadata[R12] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_delete_metadata[R2000] PASSED [ 33%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_delete_non_existing_metadata_raises_KeyError[R12] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_delete_non_existing_metadata_raises_KeyError[R2000] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_discard_non_existing_metadata_without_exception[R12] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_discard_non_existing_metadata_without_exception[R2000] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_write_and_read_metadata[R12] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_write_and_read_metadata[R2000] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_key_and_data_is_limited_to_255_chars[R12] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_key_and_data_is_limited_to_255_chars[R2000] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_escape_line_endings_in_key_and_data[R12] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py::test_escape_line_endings_in_key_and_data[R2000] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_layer PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_layer_raises_exception PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_aci_color PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_aci_color_raises_exception PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_linetype PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_linetype_raises_exception PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_lineweight PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_lineweight_raises_exception PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_linetype_scale PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_linetype_scale_raises_exception PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_textstyle PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_textstyle_raises_exception PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_set_current_dimstyle PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_427_appsettings.py::test_invalid_dimstyle_raises_exception PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_empty_string PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_uppercase_letters PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_lowercase_letters PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_digits PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_special_chars PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_asterix_is_allowed_as_first_letter PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_punctuation PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translation_spaces PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_invalid_chars_to_underscores PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_get_same_translations_for_same_names PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_unique_names_for_same_r12_translations PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_names_case_insensitive PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_limit_length_of_long_names PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py::test_translate_long_names PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_new_clipping_path_dxf_structure PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_new_clipping_path_geometry PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invalid_clipping_path_raises_exception[vertices0] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invalid_clipping_path_raises_exception[vertices1] PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_rectangular_clipping_path_geometry PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_new_spatial_filter_parmeters PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_enable_clipping_without_path_set PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_toggle_clipping_state PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_discard_clipping_path PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_cleanup_base_entity PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_get_wcs_clipping_path PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_set_wcs_clipping_path PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invert_clip_without_clipping_path PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_cannot_invert_clipping_path_twice PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invert_clipping_path_properties PASSED [ 34%] tests/test_04_dxf_high_level_structs/test_429_xclip.py::test_invert_clipping_path_dxf_structure PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_msp_1_m PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_msp_easy_usage PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_msp_2_m PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_msp_1_ft PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_msp_2_ft PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_msp_1_in PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_paper_space_scale_1_1 PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_paper_space_scale_1_100 PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_paper_space_default PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_paper_space_to_model_space_metric PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_paper_space_to_model_space_us PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_factor[6-4-1000] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_factor[4-6-0.001] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_factor[6-5-100] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_factor[5-6-0.01] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_factor[5-4-10] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_factor[4-5-0.1] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_type_error[0-6] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_type_error[6-0] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_type_error[0-0] PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_conversion_invalid_units PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_unit_name_valid_input PASSED [ 34%] tests/test_05_tools/test_500_units.py::test_unit_name_invalid_input PASSED [ 34%] tests/test_05_tools/test_501_truecolor.py::test_rgb PASSED [ 34%] tests/test_05_tools/test_501_truecolor.py::test_from_rgb PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::test_from_aci PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::test_0 PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::test_256 PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::test_luminance PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_from_hex_ PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_from_hex_with_alpha PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_from_floats PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_to_floats PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_to_hex PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGB::test_luminance PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_from_hex PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_to_hex PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_from_floats PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_to_floats PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_luminance PASSED [ 35%] tests/test_05_tools/test_501_truecolor.py::TestRGBA::test_default_alpha_channel_is_opaque PASSED [ 35%] tests/test_05_tools/test_502_raw_color.py::test_decode_by_block PASSED [ 35%] tests/test_05_tools/test_502_raw_color.py::test_encode_by_block PASSED [ 35%] tests/test_05_tools/test_502_raw_color.py::test_decode_by_layer PASSED [ 35%] tests/test_05_tools/test_502_raw_color.py::test_encode_by_layer PASSED [ 35%] tests/test_05_tools/test_502_raw_color.py::test_decode_aci PASSED [ 35%] tests/test_05_tools/test_502_raw_color.py::test_encode_aci PASSED [ 35%] tests/test_05_tools/test_502_raw_color.py::test_decode_rgb PASSED [ 35%] tests/test_05_tools/test_502_raw_color.py::test_encode_rgb PASSED [ 35%] tests/test_05_tools/test_503_indexing.py::test_item_index PASSED [ 35%] tests/test_05_tools/test_503_indexing.py::test_slicing_ascending_order PASSED [ 35%] tests/test_05_tools/test_503_indexing.py::test_errors PASSED [ 35%] tests/test_05_tools/test_503_indexing.py::test_slicing_descending_order PASSED [ 35%] tests/test_05_tools/test_504_suppress_zeros.py::test_leading_zeros PASSED [ 35%] tests/test_05_tools/test_504_suppress_zeros.py::test_trim_trailing_zeros_for_integers PASSED [ 35%] tests/test_05_tools/test_506_version.py::test_version PASSED [ 35%] tests/test_05_tools/test_508_read_zip.py::test_read_ac1009 PASSED [ 35%] tests/test_05_tools/test_509_comments.py::test_load_only_comments PASSED [ 35%] tests/test_05_tools/test_509_comments.py::test_load_handles_and_comments PASSED [ 35%] tests/test_05_tools/test_509_comments.py::test_load_structure_and_comments PASSED [ 35%] tests/test_05_tools/test_510_byte_stream.py::test_init PASSED [ 35%] tests/test_05_tools/test_510_byte_stream.py::test_read_ps PASSED [ 35%] tests/test_05_tools/test_510_byte_stream.py::test_read_ps_align PASSED [ 35%] tests/test_05_tools/test_510_byte_stream.py::test_read_pus PASSED [ 35%] tests/test_05_tools/test_510_byte_stream.py::test_read_doubles PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_bit PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_bits PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_unsigned_byte PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_signed_byte PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_unsigned_short PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_aligned_unsigned_short PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_unsigned_long PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_aligned_unsigned_long PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_bitshort PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_signed_modular_chars PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_unsigned_modular_chars PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_modular_shorts PASSED [ 35%] tests/test_05_tools/test_511_bit_stream.py::test_read_object_type PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::test_load_iso_pattern PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::test_load_scaled_iso_pattern PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::test_load_imperial_pattern PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::test_scale_pattern PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::test_scale_all_pattern PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::test_parse_pattern_file PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_horizontal_lines[ISO02W100] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_horizontal_lines[DASH] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_horizontal_lines[CLAY] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_horizontal_lines[FLEXIBLE] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_vertical_lines[GOST_WOOD] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_vertical_lines[V_ZINC] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_45_deg_lines[ANSI31] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_45_deg_lines[BRICK_INSULATING] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_45_deg_lines[BUTTERFLY] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_45_deg_lines[CROSSES] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_135_deg_lines[BUTTERFLY] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_135_deg_lines[CROSSES] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_60_deg_lines[DIAMONDS] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_has_60_deg_lines[ESCHER] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_all_45_deg_lines[ANSI31] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_all_45_deg_lines[BRICK_EXISTING] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_all_solid_lines[ANSI31] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_all_solid_lines[BRICK_EXISTING] PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_analyse_ansi31 PASSED [ 35%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_analyse_checker PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_rotated_checker PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::TestPatternAnalyser::test_analyse_crosses PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[0-0] PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[45-45_0] PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[90-90] PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[135-135] PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[22-15] PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[23-30] PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[45-45_1] PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[180-0] PASSED [ 36%] tests/test_05_tools/test_512_pattern.py::test_round_angle_15_deg[270-90] PASSED [ 36%] tests/test_05_tools/test_513_reorder_entities.py::test_ascending_sort_order PASSED [ 36%] tests/test_05_tools/test_513_reorder_entities.py::test_mapped_ascending_sort_order PASSED [ 36%] tests/test_05_tools/test_513_reorder_entities.py::test_mapping_to_0_ascending_sort_order PASSED [ 36%] tests/test_05_tools/test_513_reorder_entities.py::test_full_mapped_ascending_sort_order PASSED [ 36%] tests/test_05_tools/test_513_reorder_entities.py::test_descending_sort_order PASSED [ 36%] tests/test_05_tools/test_513_reorder_entities.py::test_mapping_to_0_descending_sort_order PASSED [ 36%] tests/test_05_tools/test_513_reorder_entities.py::test_full_mapped_descending_sort_order PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_text_width_and_height PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_shrink_to_fit PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_stretch_to_aligned PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_baseline_vertices_left_aligned PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_baseline_vertices_center_aligned PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_baseline_vertices_right_aligned PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_corner_vertices_baseline_aligned PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_corner_vertices_top_aligned PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_corner_vertices_bottom_aligned PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLine::test_corner_vertices_middle_aligned PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_empty_input PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location0] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location1] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location2] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location3] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_translation[location4] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[0] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[1.5707963267948966] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[0.7853981633974483] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[-1.5707963267948966] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_rotate[-0.7853981633974483] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[0-2-0] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[1-2-2] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[2-2-4] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[2--1--2] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_x[2--2--4] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[0-2-0] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[1-2-2] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[2-2-4] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[2--1--2] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_scale_y[2--2--4] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestTextLineTransformation::test_oblique PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_plain_text PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_caret_decode PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_dxf_escape_line_endings PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_replace_non_printable PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_plain_mtext_removes_formatting PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_plain_mtext2_removes_formatting PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_remove_commands_without_terminating_semicolon PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_plain_mtext_decoding_special_chars[fast_plain_mtext] PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_plain_mtext_decoding_special_chars[plain_mtext] PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_do_not_split_at_caret PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_split_empty_string PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_split_short_string PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_split_long_string PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestSplitMText::test_split_longer_string PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_text_wrapping PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_virtual_text_entity PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_standard_text_entity PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_stacked_text_entity PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_stacked_mtext_entity PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestIsTextVerticalStacked::test_raise_type_error_for_unsupported_types PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestMTextContentHasInlineFormattingCodes::test_line_breaks_is_not_an_inline_code PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestMTextContentHasInlineFormattingCodes::test_non_breaking_space_is_not_an_inline_code PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestMTextContentHasInlineFormattingCodes::test_inline_formatting_code PASSED [ 36%] tests/test_05_tools/test_514_text.py::TestMTextContentHasInlineFormattingCodes::test_line_break_and_inline_formatting_code PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[95] PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[180] PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[265] PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[-95] PASSED [ 36%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[-180] PASSED [ 37%] tests/test_05_tools/test_514_text.py::test_is_upside_down_text_angle[-265] PASSED [ 37%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[0] PASSED [ 37%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[90] PASSED [ 37%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[270] PASSED [ 37%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[-90] PASSED [ 37%] tests/test_05_tools/test_514_text.py::test_is_not_upside_down_text_angle[-270] PASSED [ 37%] tests/test_05_tools/test_514_text.py::test_flipping_tolerance PASSED [ 37%] tests/test_05_tools/test_514_text.py::test_upright_text_angle PASSED [ 37%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_empty_text PASSED [ 37%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_more_empty_text PASSED [ 37%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_single_line PASSED [ 37%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_many_lines_no_line_wrapping PASSED [ 37%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_many_lines_with_line_wrapping PASSED [ 37%] tests/test_05_tools/test_514_text.py::TestEstimateMTextContentExtents::test_estimation_safety_factor PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_sut_font_cache_was_loaded PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[LiberationSans-Regular.ttf-Liberation Sans] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[LiberationSerif-Regular.ttf-Liberation Serif] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[LiberationMono-Regular.ttf-Liberation Mono] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[LiberationSansNarrow-Regular.ttf-Liberation Sans Narrow] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[DejaVuSans.ttf-DejaVu Sans] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[DejaVuSerif.ttf-DejaVu Serif] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[DejaVuSansMono.ttf-DejaVu Sans Mono] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[OpenSans-Regular.ttf-Open Sans] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[OpenSansCondensed-Light.ttf-Open Sans Condensed] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_if_all_test_fonts_are_available[NotoSansSC-Regular.otf-Noto Sans SC] PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_find_font_face_without_definition PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_find_font_face PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_get_font_without_definition PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_get_font_face_with_definition PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_map_shx_to_ttf PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_map_ttf_to_shx PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_get_font_measurement PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_get_font_measurement_for_shx_fonts PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_same_font_faces_have_equal_hash_values PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_font_face_is_italic PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_font_face_is_oblique PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_font_face_is_bold PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_weight_str PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontFace::test_width_str PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_total_height PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_scale PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_shift PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_scale_from_baseline PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_cap_top PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_x_top PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestFontMeasurements::test_bottom PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_space_width PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_text_width PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_text_width_ex PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_text_path PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestMonospaceFont::test_text_path_ex PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_space_width PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_text_width PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_text_width_ex PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_text_path PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::TestTrueTypeFont::test_text_path_ex PASSED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_find_font_file_by_best_match SKIPPED [ 37%] tests/test_05_tools/test_515a_fonts_truetype.py::test_find_generic_font_family SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_get_font_family_for_shx_files SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_get_font_family_for_shp_files SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_get_font_style_for_shx_files SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_best_match_for_shape_files SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_width_value_influences_the_best_match_for_shape_files SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_space_width SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_text_width SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_text_width_ex SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_text_path SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestShapeFileFont::test_text_path_ex SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_get_glyphs SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_get_advance_width SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_get_space_width SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_get_font_measurements SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_path_for_unsupported_glyphs SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_spaces_are_measured SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::TestGlyphCache::test_spaces_are_not_rendered SKIPPED [ 37%] tests/test_05_tools/test_515b_fonts_shapefiles.py::test_resolve_shx_font_name SKIPPED [ 37%] tests/test_05_tools/test_515c_fonts_lff.py::test_get_font_family_for_lff_files SKIPPED [ 37%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_is_a_lff_font SKIPPED [ 38%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_space_width SKIPPED [ 38%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_text_width SKIPPED [ 38%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_text_width_ex SKIPPED [ 38%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_text_path SKIPPED [ 38%] tests/test_05_tools/test_515c_fonts_lff.py::TestLibreCadFont::test_text_path_ex SKIPPED [ 38%] tests/test_05_tools/test_515c_fonts_lff.py::test_low_level_glyph_cache_measures_spaces SKIPPED [ 38%] tests/test_05_tools/test_515c_fonts_lff.py::test_map_shx_to_lff SKIPPED [ 38%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_center PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_extents PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_extents_factor_2 PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_window PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_objects PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestModelSpace::test_zoom_objects_of_empty_set PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_bbox_of_main_viewport PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_center PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_extents PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_extents_factor_2 PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_window PASSED [ 38%] tests/test_05_tools/test_516_zoom.py::TestPaperSpace::test_zoom_objects_of_empty_set PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[None-expected0] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[margins1-expected1] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[margins2-expected2] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[margins3-expected3] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_resolve_margins[margins4-expected4] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[1-expected0] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[2-expected1] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[3-expected2] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[4-expected3] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[5-expected4] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[6-expected5] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[7-expected6] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[8-expected7] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_insert_location[9-expected8] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_create_empty_layout_top_left PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_create_empty_layout_middle_center PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_add_one_column_by_reference_width PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_add_two_equal_columns PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_bounding_box_for_not_placed_layout PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_bounding_box_for_placed_layout PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_next_existing_column PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTopLevelLayout::test_next_column_creates_a_new_column PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestColumn::test_size_calculation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestColumn::test_render PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::test_paragraph_available_line_content_space PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_empty_paragraph_dimensions PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_render_empty_paragraph PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_invalid_content PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_common_case_without_nbsp PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_with_nbsp PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_too_long_lines PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithUnrestrictedHeight::test_distribute_too_long_lines_including_nbsp PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithRestrictedHeight::test_distribute_with_exact_height_match PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithRestrictedHeight::test_distribute_with_one_line_left_over PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphWithRestrictedHeight::test_distribute_with_all_lines_left_over PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphLeftAlignment::test_without_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphLeftAlignment::test_left_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphLeftAlignment::test_move_tab_to_next_line_if_following_content_does_not_fit PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphLeftAlignment::test_tab_and_text_do_not_fit_into_line PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphAlignment::test_without_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphAlignment::test_right_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphCenterAlignment::test_without_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphCenterAlignment::test_left_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphCenterAlignment::test_right_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphJustifiedAlignment::test_without_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestParagraphJustifiedAlignment::test_with_indentation PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_line_properties PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_bottom_alignment PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_center_alignment PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_top_alignment PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestVerticalCellAlignment::test_mixed_alignment PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTextStrokeRendering::test_simple_stroke[1-STROKE(UNDERLINE, 3.0)] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTextStrokeRendering::test_simple_stroke[4-STROKE(OVERLINE, 3.0)] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTextStrokeRendering::test_simple_stroke[2-STROKE(STRIKE_THROUGH, 3.0)] PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTextContinueStroke::test_continue_stroke_across_one_space PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTextContinueStroke::test_continue_stroke_across_multiple_spaces PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestTextContinueStroke::test_do_not_continue_stroke_automatically PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestFractionCell::test_a_over_b PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestFractionCell::test_a_over_line_b PASSED [ 38%] tests/test_05_tools/test_517_text_layout.py::TestFractionCell::test_a_slanted_b PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::test_cell_converter PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_no_glue_between_content_raises_value_error[tt] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_no_glue_between_content_raises_value_error[tf] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_no_glue_between_content_raises_value_error[ft] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_no_glue_between_content_raises_value_error[ff] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_ignore_non_breaking_space_between_text_and_fraction[t~f] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_ignore_non_breaking_space_between_text_and_fraction[f~f] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_ignore_non_breaking_space_between_text_and_fraction[f~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_ignore_pending_non_breaking_space PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_nbsp[t~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_nbsp[t~~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_nbsp[t~~~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t~ t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t ~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t~~ t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t ~~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[~~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t#~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t~#t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_replace_useless_nbsp_by_spaces[t~#~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_spaces[t t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_spaces[t t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_multiple_spaces[t t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_remove_pending_glue PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_prepending_space[ t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_prepending_space[ t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestNormalizeCells::test_preserve_prepending_space[ t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_shrink_space PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_default_min_width PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_expand_restricted_space PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_expand_unrestricted_space PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_total_height_is_zero PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_non_breaking_space_to_space PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_can_shrink PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestSpace::test_can_grow PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_rigid_connection PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_create_one_connection[t~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_create_one_connection[t~t~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_create_two_connections[t~t t~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_create_two_connections[t~t~t t~t~t] PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestRigidConnection::test_ignore_pending_non_breaking_space PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_setup PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_line_height_is_defined_by_max_content_height PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_line_total_width_is_defined_by_content PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_fill_until_line_is_full PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_left_tab PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_left_tab_without_tab_stops PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_center_tab PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::TestLeftLine::test_right_tab PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::test_shift_tab_stop_left_in_range PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::test_shift_tab_stops_beyond_left_border PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::test_shift_tab_stops_beyond_right_border PASSED [ 39%] tests/test_05_tools/test_517_text_layout.py::test_empty_paragraph PASSED [ 39%] tests/test_05_tools/test_518_header_guid.py::test_guid_string_matches_autocad_pattern PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_append_text PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_iadd_text PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_stacked_text_limits_style PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_stacked_text_with_horizontal_divider_line PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_stacked_text_with_slanted_divider_line PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_invalid_divider_char_raises_value_error PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_color_name PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_aci_color PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_aci_color_raises_value_error[-1] PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_aci_color_raises_value_error[257] PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_to_red_by_rgb PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_to_green_by_rgb PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_to_blue_by_rgb PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_font PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_scale_height_factor PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_absolute_text_height PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_width_factor PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_char_tracking_factor PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_change_oblique_angle PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_fluent_interface PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_grouping PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_underline_text PASSED [ 39%] tests/test_05_tools/test_519_mtext_editor.py::test_overline_text PASSED [ 40%] tests/test_05_tools/test_519_mtext_editor.py::test_strike_through_text PASSED [ 40%] tests/test_05_tools/test_519_mtext_editor.py::test_bullet_lists PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::test_underline PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::test_strike PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::test_overstrike PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::test_copy PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::test_equality PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::test_set_aci PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_default_properties PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_indent_first_line PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_indent_paragraph_left PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_indent_paragraph_right PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_center_alignment_without_indentation PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_center_alignment_with_indentation PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_one_tab_stop PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_multiple_tab_stops PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_different_kinds_of_tab_stops PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_indentation_and_multiple_tab_stops PASSED [ 40%] tests/test_05_tools/test_520_mtext_context.py::TestParagraphPropertiesToString::test_justified_alignment_and_multiple_tab_stops PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_parse_plain_text PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_three_adjacent_spaces PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_non_breaking_space PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_space_and_adjacent_non_breaking_space PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_tabulator_caret_I PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_new_paragraph_caret_J PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_replace_caret_chars_by_space PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_escaped_letters_building_words PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_invalid_escaped_letters_printed_verbatim PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_single_new_paragraph_token PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_new_paragraph_token_in_usual_context PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_single_new_column_token PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_grouping_chars_do_not_yield_tokens PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_parser_does_not_check_valid_grouping PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_wrap_at_dimline PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_decode_special_encodings PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_unknown_special_encodings PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContentParsing::test_percent_sign_usage PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_simple_horizontal_fraction PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_simple_diagonal_fraction PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_simple_limit_style_fraction PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_without_terminator_parsing_until_end_of_string PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[A] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[I] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[J] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[M] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_replace_all_caret_encoded_chars_by_space[Z] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_terminator_char PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_backslash_char PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_stacking_type_char PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_caret_char PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_escape_caret_new_line PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_remove_backslash_escape_char PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_preserve_second_stacking_type_char PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_preserve_second_caret_char PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_parse_without_stacking_type_char PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_next_word_after_stacking PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_next_semi_colon_after_stacking PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_extraction_of_expression[word\\p______;word] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_extraction_of_expression[word\\f______;word] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestParsingFractions::test_extraction_of_expression[word\\F______;word] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_underline_on PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_underline_on_off_for_multiple_words PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_consecutive_tokens_get_the_same_context_objects_if_unchanged PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_underline_on_off_creates_different_context_objects PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_overline_on_off PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_strike_through_on_off PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_stroke_on_off_multiple_times[\\L-\\l-underline] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_stroke_on_off_multiple_times[\\K-\\k-strike_through] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_switch_stroke_on_off_multiple_times[\\O-\\o-overline] PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_context_stack_for_grouping PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_bottom_alignment_with_terminator PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_middle_alignment_without_terminator PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_top_alignment_without_terminator PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_alignment_default_value_for_invalid_argument PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_b0_i0 PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_b1_i0 PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_b0_i1 PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_b1_i1 PASSED [ 40%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_font_uppercase_command PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_empty_font_command_does_not_change_font_properties PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_empty_font_family_name_does_not_change_font_properties PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H+3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H+3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H-3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H-3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H0.3e1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H0.3e1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H30e-1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_height_command[\\H30e-1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W3x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W3x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W+3x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W+3x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W-3x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W-3x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W0.3e1x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W0.3e1x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W30e-1x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_height_command[\\W30e-1x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\Hx] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\Hx;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H1-2;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.3x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.3x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_invalid_height_command[\\H.;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W+3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W+3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W-3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W-3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W0.3e1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W0.3e1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W30e-1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_width_command[\\W30e-1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T+3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T+3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T-3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T-3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T0.3e1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T0.3e1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T30e-1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_absolut_char_tracking_command[\\T30e-1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T3x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T3x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T+3x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T+3x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T-3x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T-3x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T0.3e1x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T0.3e1x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T30e-1x] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_relative_char_tracking_command[\\T30e-1x;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q+3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q+3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q0.3e1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q0.3e1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q30e-1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_positive_oblique_command[\\Q30e-1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-3;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-0.3e1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-0.3e1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-30e-1] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_negative_oblique_command[\\Q-30e-1;] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color[\\C3] PASSED [ 41%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color[\\C3;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color[\\C03] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color[\\C03;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color_is_limited_to_256[\\C1000] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_aci_color_is_limited_to_256[\\C1000;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color[\\c255] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color[\\c255;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color[\\c0255] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color[\\c0255;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextContextParsing::test_rgb_color_overflow PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i0;-0] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i+1;-1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i1.1;-1.1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i-1;--1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_first_line[i-1.1;--1.1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l0;-0] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l+1;-1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l1.1;-1.1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l-1;--1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_left[l-1.1;--1.1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r0;-0] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r+1;-1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r1.1;-1.1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r-1;--1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_indent_right[r-1.1;--1.1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[ql;-1] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[qr;-2] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[qc;-3] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[qj;-4] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[qd;-5] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_paragraph_alignment[q?;-0] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_tab_stops PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_combinations[i1,l2,r3,qc,t1,2,3;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_combinations[qc,l2,r3,i1,t1,2,3;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_combinations[xqc,xl2,xr3,xi1,xt1,2,3;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_combinations[xqcl2xr3xi1xt1,2,3;] PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_reset_arguments PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_invalid_tab_stops PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParagraphProperties::test_unknown_escape_sequence PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_change_height PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_change_height_without_semicolon PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_change_char_tracking PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_change_paragraph PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_one_char_commands PASSED [ 42%] tests/test_05_tools/test_521_mtext_parser.py::TestMTextParserYieldsPropertyChangeCommands::test_unknown_escape_sequence PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_scan_empty_text PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_non_empty_string_is_not_empty PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_peeking_next_letter PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_peeking_more_letters_ahead PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_peeking_beyond_word_boundaries_returns_empty_string PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_getting_next_letter_forwards_scan_position PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_consume_one_letter PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_consume_two_letter PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_getting_all_letters_empties_scanner PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_can_not_consume_zero_chars PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_can_not_consume_negative_chars PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_can_not_peek_in_reverse_direction PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_find_next_char PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_find_ignores_escaped_chars PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_find_next_backslash PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_not_find_next PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_substr_at_the_begin PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_substr_from_consumed_string PASSED [ 42%] tests/test_05_tools/test_522_text_scanner.py::TestTextScanner::test_substr_index_error PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_text_size_of_an_empty_string PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_single_char PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string[ABC] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string[.,!] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string[ ] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string_for_width_factor_2[ABC] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string_for_width_factor_2[.,!] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_text_width_of_a_string_for_width_factor_2[ ] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_measurement_of_plain_text[ABC\n] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_measurement_of_plain_text[ABC\r] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_measurement_of_plain_text[AB^I] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_measurement_of_plain_text[AB%%d] PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_support_for_text_size PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_an_empty_string PASSED [ 42%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_a_single_char PASSED [ 43%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_a_string PASSED [ 43%] tests/test_05_tools/test_523_text_size.py::test_estimate_mtext_extents PASSED [ 43%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_2_lines[2.0-6.703281982585398] PASSED [ 43%] tests/test_05_tools/test_523_text_size.py::test_mtext_size_of_2_lines[3.0-10.054922973878098] PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_non_exiting_handles_return_0 PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_access_interface PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_simple_references PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_nested_block_references PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_used_in_xdata PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_used_in_app_data PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_used_in_xrecord PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_in_header_section PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_in_dimstyle PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_in_leader PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_for_anonymous_dimension_block PASSED [ 43%] tests/test_05_tools/test_524_block_reference_manager.py::test_count_references_in_mleader_style PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[33554432-1.0] PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[33554559-0.5] PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[33554687-0.0] PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[0-1.0] PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[127-0.5] PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_transparency_to_float[255-0.0] PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_float_to_transparency[33554432-1.0] PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_float_to_transparency[33554559-0.5] PASSED [ 43%] tests/test_05_tools/test_525_transparency.py::test_float_to_transparency[33554687-0.0] PASSED [ 43%] tests/test_05_tools/test_526_explode.py::test_virtual_entities_from_insert PASSED [ 43%] tests/test_05_tools/test_526_explode.py::test_transparency_of_virtual_entities_from_insert PASSED [ 43%] tests/test_05_tools/test_526_explode.py::test_complex_target_coordinate_system PASSED [ 43%] tests/test_05_tools/test_526_explode.py::test_explode_scaled_block_ref_containing_a_hatch PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_default_init PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_str PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_repr PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_as_dict PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestDefaultGfxAttribs::test_as_dict_default_values PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_set_aci_color PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_set_transparency_as_float PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_set_transparency_by_block PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_set_transparency_as_raw_dxf_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribsFromDict::test_validation_errors PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_init_by_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_init_by_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_set_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_set_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_str PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLayer::test_repr PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_init_by_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_init_by_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_set_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_set_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_str PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribColor::test_repr PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_init_by_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_init_by_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_set_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_reset_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_set_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_str PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTrueColor::test_repr PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_init_by_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_init_by_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_set_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_set_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_str PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetype::test_repr PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_init_by_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_init_by_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_set_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_set_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_str PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLineweight::test_repr PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_init_by_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_init_by_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_value[0.0] PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_value[0.5] PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_value[1.0] PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_by_block_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_reset_value PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_set_invalid_value_raises_exception PASSED [ 43%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_str PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_by_block_str PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribTransparency::test_repr PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_init_by_value PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_init_by_invalid_value_raises_exception PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_value[0.5] PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_value[1.0] PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_value[2.0] PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_value[1] PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_invalid_value_raises_exception[-1.0] PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_invalid_value_raises_exception[0.0] PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_set_invalid_value_raises_exception[-1] PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_str PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::TestGfxAttribLinetypeScale::test_repr PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_gfx_attribs_as_dict PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_transparency_by_block_as_dict PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_gfx_attribs_string PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_gfx_attribs_repr PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_load_header_defaults PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_write_back_header_defaults PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_from_entity PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_update_dxf_attributes_from_gfx_attribs PASSED [ 44%] tests/test_05_tools/test_527_gfxattribs.py::test_update_transparency_by_block_from_gfx_attribs PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_equal_string_tags PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_round_tags PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_equal_rounded_float_tags PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_equal_vertex_tags PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_prepend_tag PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_insert_tag PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_append_tag PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_replace_last_tag PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_replace_inner_tag PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_delete_last_tag PASSED [ 44%] tests/test_05_tools/test_528_difftags.py::test_delete_inner_tag PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_default_header PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_dump_header_string[400-400 0 1 0 \n25 ezdxf v1.3.4 ACIS Builder 12 ACIS 4.00 NT 24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 ] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_dump_header_string[700-700 0 1 0 \n@25 ezdxf v1.3.4 ACIS Builder @12 ACIS 32.0 NT @24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 ] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_dump_header_string[21800-21800 0 1 0 \n@25 ezdxf v1.3.4 ACIS Builder @14 ACIS 218.00 NT @24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 ] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_parse_header_str[18 ezdxf ACIS Builder 14 ACIS 208.00 NT 24 Sat Jan 1 10:00:00 2022 ] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_parse_header_str[@18 ezdxf ACIS Builder @14 ACIS 208.00 NT @24 Sat Jan 1 10:00:00 2022 ] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_parse_sat_header[400 0 1 0 \n25 ezdxf v1.3.4 ACIS Builder 12 ACIS 4.00 NT 24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 -400] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_parse_sat_header[21800 0 1 0 \n@25 ezdxf v1.3.4 ACIS Builder @14 ACIS 218.00 NT @24 Sat Jan 1 10:00:00 2022 \n1 9.9999999999999995e-007 1e-010 -21800] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_end_of_records_detection[data0] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_end_of_records_detection[data1] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_merge_records[data0] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_merge_records[data1] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_merge_records[data2] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestMergeRecordStrings::test_weird_placement_of_record_terminator PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_simple_case PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_sequence_numbers PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_non_continuous_sequence_numbers_raises_exception PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_merged_records[data0] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_merged_records[data1] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestParseRecords::test_merged_records[data2] PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_build_entities PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_parsing_result PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_body_entity PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_ptr_resolving PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_attr_ptr_is_reset PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::TestAcisBuilder::test_dump_sat_recreates_the_source_structure PASSED [ 44%] tests/test_05_tools/test_529_acis_sat.py::test_build_str_records PASSED [ 44%] tests/test_05_tools/test_530_acis_sab.py::test_decode_header PASSED [ 44%] tests/test_05_tools/test_530_acis_sab.py::test_encode_header PASSED [ 44%] tests/test_05_tools/test_530_acis_sab.py::test_decode_first_record PASSED [ 44%] tests/test_05_tools/test_530_acis_sab.py::test_decode_all_records PASSED [ 44%] tests/test_05_tools/test_530_acis_sab.py::test_parse_sab PASSED [ 44%] tests/test_05_tools/test_530_acis_sab.py::TestSabEntity::test_get_pointer_at_index PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::test_load_any_format[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_type_type[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_transform_attribute[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_transform_attribute_was_loaded[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_wire_attribute[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_get_all_lumps_as_a_list[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_lump_type[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_back_pointer_to_body[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_no_next_lump[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_attribute_to_first_shell[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_get_all_shells_as_a_list[SAT_400] PASSED [ 44%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_shell_type[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_back_pointer_to_lump[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_has_no_next_shell[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_get_all_faces_as_a_list[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_type[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_back_pointer_to_shell[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_has_attribute_surface[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_features[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_traverse_all_six_cube_faces[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_type[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_location[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_normal[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_u_dir[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_has_infinite_bounds[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_type[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_cube_face_has_only_one_loop[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_references_the_parent_face[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_type[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_forward_linked_list[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_reverse_linked_list[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_partner_co_edge_count_is_two[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_have_partner_co_edges_other_faces[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_sense_of_co_edge_is_forward[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_references_the_parent_loop[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_type[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_a_start_vertex[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_an_end_vertex[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_sense_of_edge_is_forward[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_underlying_curve_of_edge[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_is_referenced_by_two_parent_co_edges[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_type[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_references_parent_edge[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_type[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_location[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_get_all_points[SAT_400] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::test_load_any_format[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_type_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_transform_attribute[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_transform_attribute_was_loaded[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_wire_attribute[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_get_all_lumps_as_a_list[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_lump_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_back_pointer_to_body[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_no_next_lump[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_attribute_to_first_shell[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_get_all_shells_as_a_list[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_shell_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_back_pointer_to_lump[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_has_no_next_shell[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_get_all_faces_as_a_list[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_back_pointer_to_shell[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_has_attribute_surface[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_features[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_traverse_all_six_cube_faces[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_location[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_normal[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_u_dir[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_has_infinite_bounds[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_cube_face_has_only_one_loop[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_references_the_parent_face[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_forward_linked_list[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_reverse_linked_list[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_partner_co_edge_count_is_two[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_have_partner_co_edges_other_faces[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_sense_of_co_edge_is_forward[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_references_the_parent_loop[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_a_start_vertex[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_an_end_vertex[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_sense_of_edge_is_forward[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_underlying_curve_of_edge[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_is_referenced_by_two_parent_co_edges[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_references_parent_edge[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_type[SAT_700] PASSED [ 45%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_location[SAT_700] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_get_all_points[SAT_700] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::test_load_any_format[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_type_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_transform_attribute[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_transform_attribute_was_loaded[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_wire_attribute[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_get_all_lumps_as_a_list[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_lump_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_back_pointer_to_body[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_no_next_lump[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_attribute_to_first_shell[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_get_all_shells_as_a_list[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_shell_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_back_pointer_to_lump[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_has_no_next_shell[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_get_all_faces_as_a_list[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_back_pointer_to_shell[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_has_attribute_surface[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_features[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_traverse_all_six_cube_faces[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_location[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_normal[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_u_dir[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_has_infinite_bounds[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_cube_face_has_only_one_loop[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_references_the_parent_face[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_forward_linked_list[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_reverse_linked_list[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_partner_co_edge_count_is_two[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_have_partner_co_edges_other_faces[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_sense_of_co_edge_is_forward[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_references_the_parent_loop[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_a_start_vertex[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_an_end_vertex[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_sense_of_edge_is_forward[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_underlying_curve_of_edge[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_is_referenced_by_two_parent_co_edges[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_references_parent_edge[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_type[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_location[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_get_all_points[SAB_R2013] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::test_load_any_format[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_type_type[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_transform_attribute[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_transform_attribute_was_loaded[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_has_wire_attribute[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_get_all_lumps_as_a_list[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_lump_type[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_back_pointer_to_body[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_no_next_lump[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_has_attribute_to_first_shell[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_get_all_shells_as_a_list[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_shell_type[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_back_pointer_to_lump[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_has_no_next_shell[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_get_all_faces_as_a_list[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_type[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_back_pointer_to_shell[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_has_attribute_surface[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_face_features[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestFace::test_traverse_all_six_cube_faces[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_type[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_location[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_normal[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_u_dir[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestPlane::test_plane_has_infinite_bounds[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_type[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_cube_face_has_only_one_loop[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_loop_references_the_parent_face[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_type[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_forward_linked_list[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_are_organized_as_a_reverse_linked_list[SAB_R2018] PASSED [ 46%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_partner_co_edge_count_is_two[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edges_have_partner_co_edges_other_faces[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_sense_of_co_edge_is_forward[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestCoedge::test_co_edge_references_the_parent_loop[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_type[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_a_start_vertex[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_has_an_end_vertex[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_sense_of_edge_is_forward[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_underlying_curve_of_edge[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestEdge::test_edge_is_referenced_by_two_parent_co_edges[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_type[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestVertex::test_vertex_references_parent_edge[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_type[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_point_location[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestPoint::test_get_all_points[SAB_R2018] PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestBody::test_append_lumps PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestLump::test_append_shells PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestShell::test_append_faces PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestPolyhedronFaceBuilder::test_creates_six_faces PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestPolyhedronFaceBuilder::test_each_face_defines_a_plane_surface PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_set_closed_coedges PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestLoop::test_set_open_coedges PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::test_default_partner_co_edge_count_is_two PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestExportSat::test_export_rejects_unsupported_acis_versions PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestExportSat::test_export_acis_700 PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestExportSab21800::test_export_rejects_unsupported_acis_versions PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestExportSab21800::test_reload_records_from_acis_export PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::test_load_mesh_from_exported_sat_data PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::test_load_mesh_from_exported_sab_data PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestExportTransform::test_export_sat_identity_matrix PASSED [ 47%] tests/test_05_tools/test_531_acis_entities.py::TestExportTransform::test_export_sab_identity_matrix PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPrismToMesh::test_mesh_has_10_faces PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPrismToMesh::test_mesh_has_8_unique_vertices PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPrismToMesh::test_all_faces_have_at_least_3_vertices PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPrismToMesh::test_any_face_has_at_least_4_vertices PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_six_faces_will_be_created PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_each_face_gets_it_own_plane PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_each_face_has_a_single_loop PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_24_unique_coedges PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_coedge_references_parent_loop PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_partner_coedges PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_12_unique_edges PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_edges_have_a_parent_coedge PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_each_edges_has_a_unique_straight_line PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_8_unique_vertices PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_for_8_unique_points PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestPolyhedronFaceBuilder::test_build_multiple_times_independent_faces PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::test_rebuild_mesh_from_acis_body PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestTransformCenterOfMeshToOriginAtConversionToAcisBody::test_transformation_matrix_for_translation PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::TestTransformCenterOfMeshToOriginAtConversionToAcisBody::test_if_acis_points_are_centered_around_the_origin PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::test_non_manifold_detection PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::test_body_from_menger_sponge_is_manifold PASSED [ 47%] tests/test_05_tools/test_532_acis_mesh.py::test_vertices_from_body PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::test_filter_noise PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::test_merge_wrapped_spec_line PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::test_do_not_merge_spec_without_name PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::test_big_font_not_supported PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_shape_file_name PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_cap_height PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_descender PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_mode PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_encoding PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_embed PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_is_font PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_shape_count PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_shape_by_number PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_find_shape_by_name PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestFontShapeFile::test_find_undefined_shape PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeFile::test_is_a_shape_file PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeFile::test_shape_by_number PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeFile::test_shape_by_name PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_only_lines PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_bulges PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_full_circle_by_octant_arc PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_ccw_fractional_arcs_number_nine PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_ccw_fractional_arcs_ampersand PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_render_clockwise_fractional_arcs_letter_c PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_unsupported_non_printable_shape_number_returns_empty_path PASSED [ 47%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_unsupported_printable_shape_number_returns_empty_box PASSED [ 48%] tests/test_05_tools/test_533_shapefiles.py::TestShapeRenderer::test_empty_box_has_advance_width_like_glyph_A PASSED [ 48%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxShapeFile::test_shape_count PASSED [ 48%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxShapeFile::test_shape_file_has_no_name PASSED [ 48%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxShapeFile::test_shape_data PASSED [ 48%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxFontFile::test_shape_count PASSED [ 48%] tests/test_05_tools/test_533_shapefiles.py::TestLoadShxFontFile::test_some_shape_data PASSED [ 48%] tests/test_05_tools/test_533_shapefiles.py::TestLoadUnifontFile::test_shape_count PASSED [ 48%] tests/test_05_tools/test_533_shapefiles.py::TestLoadUnifontFile::test_one_shape_data PASSED [ 48%] tests/test_05_tools/test_534_dwg_info.py::test_detect[R12] PASSED [ 48%] tests/test_05_tools/test_534_dwg_info.py::test_detect[R2000] PASSED [ 48%] tests/test_05_tools/test_534_dwg_info.py::test_detect[R2018] PASSED [ 48%] tests/test_05_tools/test_534_dwg_info.py::test_detect[unknown] PASSED [ 48%] tests/test_05_tools/test_534_dwg_info.py::test_detect_invalid[invalid] PASSED [ 48%] tests/test_05_tools/test_534_dwg_info.py::test_detect_invalid[empty] PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_a_simple_layer PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_a_shape_linetype PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_a_text_linetype PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_layer_with_complex_linetype PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_a_text_style_with_extended_font_data PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_dimstyle PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadResourcesWithoutNamingConflicts::test_loading_layer_with_custom_default_material PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_plain_entity PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_entity_layer_without_layer_table_entry PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_entity_with_xdata PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_entity_with_reactors PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadEntities::test_load_entity_with_extension_dict PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadTextEntities::test_load_text_entity PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadTextEntities::test_load_mtext_entity PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadTextEntities::test_attdef_with_embedded_mtext_entity PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::test_load_mtext_with_columns PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadLinkedEntities::test_load_polyline PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadLinkedEntities::test_load_polyface PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestBlocks::test_load_block_layout PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestBlocks::test_load_block_layout_does_type_checking PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestBlocks::test_load_block_reference PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestBlocks::test_load_block_reference_attributes PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestAnonymousBlocks::test_load_anonymous_block PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::test_loaded_external_reference PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::test_load_hard_owned_XRecord_within_appdata_section PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::test_load_hard_owned_XRecord_by_extension_dict PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestDimension::test_load_dimension_style_exist PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestDimension::test_loaded_geometry_block_exist PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestDimensionDimStyleOverride::test_load_dimension_style_exist PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestDimensionDimStyleOverride::test_dot_blocks_in_source_doc PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestDimensionDimStyleOverride::test_loaded_geometry_block_has_two_block_refs_of_dot PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestDimensionDimStyleOverride::test_loaded_xdata_override_has_handle_to_existing_block PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLeader::test_loaded_leader_is_linked_to_loaded_text PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLeader::test_loaded_xdata_override_has_handle_to_existing_block PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::test_tolerance_entity_register_dimstyle PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::test_associative_hatch_has_updated_source_boundary_handles PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadImage::test_loaded_infrastructure PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadImage::test_loaded_images_share_image_definition PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadImage::test_loaded_image_def_reactors PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadWipeout::test_loaded_infrastructure PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadWipeout::test_loaded_wipeout_has_same_boundary_path PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadMLine::test_loaded_infrastructure PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadMLine::test_loaded_mline_has_correct_style_attributes PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadMLine::test_loaded_mline_has_same_vertices PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderMText::test_loaded_infrastructure PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderMText::test_loaded_mleader_mtext_style PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderMText::test_loader_multileader_attributes PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderBlock::test_loaded_mleader_block_style PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderBlock::test_loaded_mleader_attributes PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestMultiLeaderBlock::test_loaded_block_attributes PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestUnderlay::test_loaded_infrastructure PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestUnderlay::test_loaded_attributes PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceLayout::test_loaded_infrastructure PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceLayout::test_loaded_paperspace_without_name_conflict PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceLayout::test_loaded_paperspace_content PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceLayout::test_paperspace_name_conflict PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceViewport::test_loaded_viewport_attributes PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceViewport::test_loaded_clipping_entity PASSED [ 48%] tests/test_05_tools/test_535_xref_basic.py::TestLoadPaperspaceViewport::test_loaded_sun PASSED [ 48%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_conflict_policy_keep PASSED [ 48%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_xref_rename_policy PASSED [ 48%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_xref_rename_policy_load_2_times PASSED [ 48%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_numbered_rename_policy PASSED [ 48%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLayers::test_numbered_rename_policy_load_2_times PASSED [ 48%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLinetypes::test_conflict_policy_keep PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLinetypes::test_xref_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLinetypes::test_numbered_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextStyles::test_conflict_policy_keep PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextStyles::test_xref_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextStyles::test_numbered_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadDimStyles::test_conflict_policy_keep PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadDimStyles::test_xref_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadDimStyles::test_numbered_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMaterials::test_conflict_policy_keep PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMaterials::test_xref_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMaterials::test_numbered_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLineStyles::test_conflict_policy_keep PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLineStyles::test_xref_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLineStyles::test_numbered_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLeaderStyles::test_conflict_policy_keep PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLeaderStyles::test_xref_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadMLeaderStyles::test_numbered_rename_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextWithExistingTextstyle::test_keep_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadTextWithExistingTextstyle::test_xref_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLineWithExistingLinetype::test_keep_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLineWithExistingLinetype::test_xref_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadLineWithExistingComplexLinetype::test_xref_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadEntityWithExistingMaterial::test_keep_policy PASSED [ 49%] tests/test_05_tools/test_536_xref_conflict.py::TestLoadEntityWithExistingMaterial::test_xref_policy PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_transformation_by_matrix_without_errors[doc] PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_transformation_by_matrix_without_errors[virtual] PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_non_uniform_transformation[doc] PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_entities_without_transformation_support PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestInplaceMethod::test_acis_entities PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_translate PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_scale_uniform PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_scale PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_z_rotate PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_y_rotate PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestConvenientFunctions::test_x_rotate PASSED [ 49%] tests/test_05_tools/test_537_transform.py::test_circle_non_uniform_scaling PASSED [ 49%] tests/test_05_tools/test_537_transform.py::test_polyline_non_uniform_scaling PASSED [ 49%] tests/test_05_tools/test_537_transform.py::test_virtual_entities_do_not_support_non_uniform_scaling PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestVirtualCopies::test_just_copy PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestVirtualCopies::test_scale_virtual_circular_arcs_non_uniform PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestVirtualCopies::test_scale_virtual_polyline_with_bulge_non_uniform PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestMLeaderNonUniformScaling::test_transformation_will_not_be_applied_inplace PASSED [ 49%] tests/test_05_tools/test_537_transform.py::TestMLeaderNonUniformScaling::test_mleader_will_not_copied PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[word \\H100; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[word \\H100 word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100 word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[word \\H100;] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[word \\H100] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100;] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scale_absolute_height_commands[\\H100.000] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[word \\H100; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[word \\H100 word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[\\H100; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[\\H100 word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[word \\H100;] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[word \\H100] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[\\H100;] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_scaling_preserves_content_structure[\\H100] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[word \\H100x; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[word \\H100x word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100x; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100x word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[word \\H100x;] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[word \\H100x] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100x;] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100x] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_does_not_scale_relative_height_commands[\\H100.000x] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H0 word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H0; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[\\H; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[\\H word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[\\H0 word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[\\H0; word] PASSED [ 49%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H;] PASSED [ 50%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H] PASSED [ 50%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H0] PASSED [ 50%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_invalid_constructs_are_preserved[word \\H0;] PASSED [ 50%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_negative_factor PASSED [ 50%] tests/test_05_tools/test_538_scale_mtext_inline_commands.py::test_empty_content PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_conversion PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_extents PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_transform_inplace PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_to_tuples PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints2d::test_to_list PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints3d::test_conversion PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints3d::test_extents PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPoints3d::test_transform_inplace PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_clone PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_start_point PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_end_point PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_has_subpaths PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_has_no_subpaths PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_to_path_2d PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_extents PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_transform PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_start_point_only_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_from_empty_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2d::test_create_empty_path_from_none PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_extend_empty_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_extend_by_empty_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_extend_by_empty_2d_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_extend_by_empty_list PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_adjacent_paths PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_separated_paths PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_all_paths PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_curves PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestNumpyPath2dExtend::test_concatenate_empty_list_returns_empty_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_empty_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_single_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_multipath_of_two PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_multipath_with_curve3 PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_multipath_with_curve4 PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestSubPaths::test_sub_paths_are_reversible PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::test_path_conversion_methods PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::test_flatten_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_empty_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_one_line PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_one_curve3 PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_one_curve4 PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_path_ctrl_vertices PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_flattened_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_multi_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_reversing_multi_path_with_a_move_to_cmd_at_the_end PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_has_clockwise_orientation PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_has_counter_clockwise_orientation PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::TestReversePath::test_cw_and_ccw_orientation PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::test_clockwise_orientation_of_implicit_closed_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::test_clockwise_orientation_of_explicit_closed_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::test_counter_clockwise_orientation_of_implicit_closed_path PASSED [ 50%] tests/test_05_tools/test_539_npshapes.py::test_counter_clockwise_orientation_of_explicit_closed_path PASSED [ 50%] tests/test_05_tools/test_540_lff_parser.py::test_load_font PASSED [ 50%] tests/test_05_tools/test_540_lff_parser.py::test_glyph_A PASSED [ 50%] tests/test_05_tools/test_540_lff_parser.py::test_glyph_dollar PASSED [ 50%] tests/test_05_tools/test_540_lff_parser.py::test_composite_glyph PASSED [ 50%] tests/test_05_tools/test_540_lff_parser.py::test_render_glyphs PASSED [ 50%] tests/test_05_tools/test_540_lff_parser.py::test_scan_int_ex PASSED [ 50%] tests/test_05_tools/test_541_clipping_portal.py::TestClippingRect::test_clipping_points PASSED [ 50%] tests/test_05_tools/test_541_clipping_portal.py::TestClippingRect::test_clipping_lines PASSED [ 50%] tests/test_05_tools/test_541_clipping_portal.py::TestClippingRect::test_clip_polyline PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_empty_list PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_1_item PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_2_items PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_3_items PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestTake2::test_4_items PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestPairwiseOpen::test_empty_list PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestPairwiseOpen::test_1_item PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestPairwiseOpen::test_2_items PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestPairwiseOpen::test_3_items PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestPairwiseClose::test_empty_list PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestPairwiseClose::test_1_item PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestPairwiseClose::test_2_items PASSED [ 50%] tests/test_05_tools/test_542_itertools.py::TestPairwiseClose::test_3_items PASSED [ 50%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_all_inside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_inside_select_point PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_inside_select_point_and_line PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_outside_none PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_outside_all PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_overlaps_all PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsWindow::test_overlap_selects_touching_entities PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_all_inside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_all_outside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_none_outside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_outside_corner_case_point PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_outside_corner_case_polyline PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_overlap_all PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_overlap_none PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_is_overlapping_point PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsCircle::test_is_overlapping_line PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_invalid_vertex_count[vertices0] PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_invalid_vertex_count[vertices1] PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_invalid_vertex_count[vertices2] PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_invalid_vertex_count[vertices3] PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_all_inside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_circle_not_inside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_circle_is_not_inside_concave_polygon PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_all_outside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_point_is_outside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_line_is_not_outside PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_all_overlap PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_point_not_overlaps PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_line_overlaps PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_circle_overlaps PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxVsPolygon::test_concave PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_invalid_vertex_count[vertices0] PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_invalid_vertex_count[vertices1] PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_overlap_all_except_point PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_can_not_select_point PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_select_nothing_inside_a_closed_fence PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestBoundingBoxIntersectsFence::test_select_by_touching_bbox_corner PASSED [ 51%] tests/test_05_tools/test_543_select.py::test_point_selects_all PASSED [ 51%] tests/test_05_tools/test_543_select.py::test_all_entities_chained_by_bounding_boxes PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_circle_select_radius_1 PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_circle_select_radius_2 PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_circle_select_all PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_rect_select PASSED [ 51%] tests/test_05_tools/test_543_select.py::TestPlanarSearchIndex::test_rect_select_all PASSED [ 51%] tests/test_05_tools/test_544_revcloud.py::test_create_revcloud PASSED [ 51%] tests/test_05_tools/test_544_revcloud.py::test_too_few_points_raises_exception[points0] PASSED [ 51%] tests/test_05_tools/test_544_revcloud.py::test_too_few_points_raises_exception[points1] PASSED [ 51%] tests/test_05_tools/test_544_revcloud.py::test_too_few_points_raises_exception[points2] PASSED [ 51%] tests/test_05_tools/test_544_revcloud.py::test_too_few_points_raises_exception[points3] PASSED [ 51%] tests/test_05_tools/test_544_revcloud.py::test_too_small_segment_length_raises_exception PASSED [ 51%] tests/test_05_tools/test_544_revcloud.py::test_add_entity PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::test_create_a_new_cache PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::test_get_bodies_from_sat_data PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::test_empty_data_does_not_create_cache_entries PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::test_get_bodies_from_sab_data PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::test_add_only_unique_entries PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_empty_string PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_string PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_strings PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_empty_string_list PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_empty_bytes PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_bytes PASSED [ 51%] tests/test_05_tools/test_545_acis_cache.py::TestHashData::test_bytearray PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestBasicRequirements::test_vec3_requirements[Vec3] PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestBasicRequirements::test_rtree_requirements[Vec3] PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestBasicRequirements::test_vec3_requirements[_Vertex] PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestBasicRequirements::test_rtree_requirements[_Vertex] PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_init PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_edge_is_immutable PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_identity PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_reversed_copy PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdge::test_edge_can_be_used_in_sets PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_get_degree_of_vertex PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_get_degree_of_vertices PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_degree_counter PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_unique_vertices PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_find_edges_linked_to_vertex_A_D PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_find_edges_linked_to_vertex_A_G PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_find_nearest_edge PASSED [ 51%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_network_A_D PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_solitary_edge_is_a_network PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_network_A_G PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_all_networks PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_all_disconnected_networks PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_build_all_networks_solitary_edges PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_find_loose_ends PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_single_edge_is_a_loose_ends PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestEdgeDeposit::test_loops_do_not_have_loose_ends PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestLoop::test_loop_key PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFindSequential::test_is_forward_connected PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFindSequential::test_find_sequential PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_find_any_loop PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_loop_A_B_C_D PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_loop_D_A_B_C PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_loop_A_to_D_unique_solutions PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestLoopFinderSimple::test_loops_A_to_G PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::test_find_all_sequential PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::test_find_all_complex_loops PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestAPIFunction::test_find_all_loop PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestAPIFunction::test_find_first_loop PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestAPIFunction::test_find_shortest_loop PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestAPIFunction::test_find_longest_loop PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFindAllDisconnectedLoops::test_find_all_loops PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFindAllDisconnectedLoops::test_find_all_shuffled_loops PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestChainFinder::test_find_simple_chain PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestChainFinder::test_find_all_simple_chains PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestChainFinder::test_closed_loop PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrap_chain PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_is_wrapped_chain PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrapping_empty_chain_raises_exception PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrapping_single_edge_raises_exception PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrapping_unlinked_edges_raises_exception PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_wrapping_loop_raises_exception PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_unwrap_chain PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_unwrap_reversed_chain PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_unwrapping_single_edge PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_flatten_nested_edges PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestWrappingChains::test_flatten_empty_sequence PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestOpenChainFinder::test_find_all_open_chains PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestOpenChainFinder::test_does_not_detect_closed_loops PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestOpenChainFinder::test_not_does_detect_indirect_loops PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFindLoopByEdge::test_search_continuation_clockwise PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFindLoopByEdge::test_search_continuation_counter_clockwise PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::test_filter_coincident_edges PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFilterCloseVertices::test_coincident_vertices PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFilterCloseVertices::test_chain_of_close_vertices PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestFilterCloseVertices::test_grid_of_close_vertices PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_B_C_base_A PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_G_H_base_A PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_B_H_base_A PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_A_B_base_C PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_D_E_base_C PASSED [ 52%] tests/test_05_tools/test_546_edgeminer.py::TestSortEdgesByAngle::test_edges_B_D_base_C PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_circle_is_a_closed_entity PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_circle_of_radius_0_is_not_a_closed_entity PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_arc_is_not_a_closed_entity[0-180] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_arc_is_not_a_closed_entity[0-0] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_arc_is_not_a_closed_entity[180-180] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_arc_is_not_a_closed_entity[360-360] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_closed_arc_is_a_closed_entity[0-360] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_closed_arc_is_a_closed_entity[360-0] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_closed_arc_is_a_closed_entity[180--180] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_ellipse_is_not_a_closed_entity[0-3.141592653589793] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_ellipse_is_not_a_closed_entity[0-0] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_ellipse_is_not_a_closed_entity[3.141592653589793-3.141592653589793] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_ellipse_is_not_a_closed_entity[6.283185307179586-6.283185307179586] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_closed_ellipse_is_a_closed_entity[0-6.283185307179586] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_closed_ellipse_is_a_closed_entity[6.283185307179586-0] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_closed_ellipse_is_a_closed_entity[3.141592653589793--3.141592653589793] PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_closed_lwpolyline_is_a_closed_entity PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_lwpolyline_is_not_a_closed_entity PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_explicit_closed_lwpolyline_is_a_closed_entity PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_closed_spline PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_open_spline PASSED [ 52%] tests/test_05_tools/test_547_edgesmith.py::test_empty_spline PASSED [ 52%] tests/test_06_math/test_600_base.py::test_left_of_line PASSED [ 52%] tests/test_06_math/test_600_base.py::test_point_to_line_relation_left PASSED [ 52%] tests/test_06_math/test_600_base.py::test_left_of_line_or_on_the_line PASSED [ 53%] tests/test_06_math/test_600_base.py::test_point_ot_line_relation_on_line PASSED [ 53%] tests/test_06_math/test_600_base.py::test_xround PASSED [ 53%] tests/test_06_math/test_600_base.py::test_enclosing_angles PASSED [ 53%] tests/test_06_math/test_600_base.py::test_no_points PASSED [ 53%] tests/test_06_math/test_600_base.py::test_one_points PASSED [ 53%] tests/test_06_math/test_600_base.py::test_two_points PASSED [ 53%] tests/test_06_math/test_600_base.py::test_more_points PASSED [ 53%] tests/test_06_math/test_600_base.py::test_decdeg2dms PASSED [ 53%] tests/test_06_math/test_600_base.py::test_linspace PASSED [ 53%] tests/test_06_math/test_600_base.py::test_area PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_radius PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_center PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_arc_to_bulge PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_3_points PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_to_arc PASSED [ 53%] tests/test_06_math/test_601_bulge.py::TestBulgeFromRadiusAndChord::test_semi_circle_bulge PASSED [ 53%] tests/test_06_math/test_601_bulge.py::TestBulgeFromRadiusAndChord::test_half_bulge PASSED [ 53%] tests/test_06_math/test_601_bulge.py::TestBulgeFromRadiusAndChord::test_radius_of_zero PASSED [ 53%] tests/test_06_math/test_601_bulge.py::TestBulgeFromRadiusAndChord::test_too_small_radius_for_chord PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[180-1.0] PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[-180--1.0] PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[106.26020471-0.5] PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[-106.26020471--0.5] PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[56.14497387-0.25] PASSED [ 53%] tests/test_06_math/test_601_bulge.py::test_bulge_from_arc_angle[-56.14497387--0.25] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_default_constructor[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_init_one_param[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_invalid_one_param_init[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_invalid_param_count[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_init_two_params[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_init_three_params[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_immutable_attributes[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_from_angle[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_usage_as_tuple[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_get_item_positive_index[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3--1] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3--2] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_get_item_negative_index[Vec3--3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_get_item_does_not_support_slicing[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_vec2[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_round[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_iter[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_deep_copy[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_get_angle[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_spatial_angle[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_compare_vectors[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_xy[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_null[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_not_null_default_abs_tol[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_is_null_default_abs_tol[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_bool[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_magnitude[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_magnitude_square[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_normalize[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_normalize_to_length[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_normalize_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_orthogonal_ccw[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_orthogonal_cw[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_negative[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_add_vector[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_iadd_vector[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_radd_vector[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_add_scalar_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_radd_scalar_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_iadd_scalar_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_sub_vector[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_isub_vector[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_rsub_vector[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_sub_scalar_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_rsub_scalar_vector_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_isub_scalar_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_mul_scalar[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_mul_tuple_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_imul_scalar[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_imul_tuple_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_rmul_scalar[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_rmul_tuple_type_error[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_div_scalar[Vec3] PASSED [ 53%] tests/test_06_math/test_602_vec3.py::test_idiv_scalar[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_div_tuple_type_error[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_rdiv_scalar_type_error[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_rdiv_tuple_type_error[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_inplace_operations_do_not_mutate_vec3_inplace PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_dot_product[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_angle_deg[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_angle_between[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3-v10-v20] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3-v11-v21] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_angle_between_null_vector[Vec3-v12-v22] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_angle_about[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_cross_product[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_rot_z[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_lerp[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_replace[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_project[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_vec3_sum[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_picklable[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_equal[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_equal[Vec3] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3-1.000001-1.0000019-1e-06] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3-10.000001-10.0000019-1e-07] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3-100.000001-100.0000019-1e-08] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3-1000.000001-1000.0000019-1e-09] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3-10000.000001-10000.0000019-1e-10] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3-100000.000001-100000.0000019-1e-11] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_relative_tolerance[Vec3-1000000.000001-1000000.0000019-1e-12] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3-1.000001-1.0000019-1e-07] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3-10.000001-10.0000019-1e-08] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3-100.000001-100.0000019-1e-09] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3-1000.000001-1000.0000019-1e-10] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3-10000.000001-10000.0000019-1e-11] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3-100000.000001-100000.0000019-1e-12] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_relative_tolerance[Vec3-1000000.000001-1000000.0000019-1e-13] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3-10.00000001-10.000000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3-100.0000001-100.00000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3-1000.000001-1000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3-10000.00001-10000.000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_for_fixed_relative_tolerance[Vec3-100000.0001-100000.00019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3-10.000001-10.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3-100.000001-100.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3-1000.000001-1000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3-10000.000001-10000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3-100000.000001-100000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_close_absolute_tolerance[Vec3-1000000.000001-1000000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3-10.000001-10.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3-100.000001-100.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3-1000.000001-1000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3-10000.000001-10000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3-100000.000001-100000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_is_not_close_absolute_tolerance[Vec3-1000000.000001-1000000.0000019] PASSED [ 54%] tests/test_06_math/test_602_vec3.py::test_loosing_floating_point_precision_for_big_values PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_tuple[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_tuple[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_empty_init[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_empty_init[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_vec2[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_init_vec2[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_compatible_to_vector PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_vec3[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_round[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_from_angle[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_from_angle[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_vec2_as_tuple[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_iter[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_iter[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_deep_copy PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_get_angle[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_get_angle[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_compare_vectors[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_compare_vectors[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_close[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_close[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_not_null_default_abs_tol[Vec2] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_not_null_default_abs_tol[Vec3] PASSED [ 54%] tests/test_06_math/test_603_vec2.py::test_is_null_default_abs_tol[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_is_null_default_abs_tol[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_bool[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_bool[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_magnitude[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_magnitude[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_normalize[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_normalize[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_normalize_to_length[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_normalize_to_length[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_orthogonal_ccw[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_orthogonal_ccw[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_orthogonal_cw[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_orthogonal_cw[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_negative[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_negative[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_add_vector[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_add_vector[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_add_vec3[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_iadd_vector[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_inplace_operations_do_not_mutate_vec2_inplace PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_add_scalar_type_erorr[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_add_scalar_type_erorr[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_iadd_scalar_type_error[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_iadd_scalar_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_radd_scalar_type_error[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_radd_scalar_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_radd_tuple_type_error[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_vector[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_vector[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_isub_vector[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_vec3[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_scalar_type_error[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sub_scalar_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_isub_scalar_type_erorr[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_isub_scalar_type_erorr[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rsub_tuple[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rsub_scalar_type_error[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rsub_scalar_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_scalar[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_scalar[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_scalar[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_tuple_type_error[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_mul_tuple_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_tuple_type_error[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rmul_tuple_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_tuple_type_error[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_imul_tuple_type_error[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_div_scalar[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_div_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_idiv_scalar[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_idiv_scalar[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_dot_product[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_dot_product[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_deg[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_deg[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2-v10-v20] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2-v11-v21] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec2-v12-v22] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec3-v10-v20] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec3-v11-v21] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_null_vector[Vec3-v12-v22] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_angle_between_outside_domain PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rotate[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_rotate[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_lerp[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_lerp[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_project[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_project[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_det[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sum[Vec2] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_sum[Vec3] PASSED [ 55%] tests/test_06_math/test_603_vec2.py::test_picklable[Vec2] PASSED [ 55%] tests/test_06_math/test_604_banded_matrix.py::test_detect_banded_matrix PASSED [ 55%] tests/test_06_math/test_604_banded_matrix.py::test_compact_banded_matrix PASSED [ 56%] tests/test_06_math/test_604_banded_matrix.py::test_solve_banded_matrix_vector PASSED [ 56%] tests/test_06_math/test_604_banded_matrix.py::test_solve_banded_matrix_matrix PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_matrix_getter PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_matrix_setter PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_row PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_row PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_row_error PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_col PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_col PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_col_error PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_freeze_matrix PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_mul PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_imul PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_transpose PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_add PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_iadd PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_sub PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_build_matrix_by_rows PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_build_matrix_by_cols PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_diag PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_diag_float PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_diag_above PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_diag_below PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_set_diag_iterable PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_identity PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_vector_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_matrix_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_jordan_vector_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_jordan_matrix_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_gauss_jordan_inverse PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_LU_decomposition_solve_vector PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_LU_decomposition_solve_matrix PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_LU_decomposition_inverse PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_determinant PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_tridiagonal_vector_solver PASSED [ 56%] tests/test_06_math/test_604_linalg.py::test_tridiagonal_matrix_solver PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44-0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44-1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44-2] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_default_constructor[Matrix44-3] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_numbers_constructor[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_row_constructor[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_invalid_row_constructor[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_invalid_number_constructor[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_item_does_not_support_slicing[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_item_index_error[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_item_does_not_support_slicing[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_item_index_error[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_iter[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_copy[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_row_index_error[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_row[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_row_index_error[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_col[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_get_col_index_error[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_col[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_set_col_index_error[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_is_orthogonal[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_is_cartesian[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_translate[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_scale[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_x_rotate[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_y_rotate[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_z_rotate[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_chain[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_chain2[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_transform[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_multiply[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_transpose[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_inverse_error[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_determinant[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_axis_rotate_for_axis_normalization[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_assign_after_initialized[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_picklable[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_shear_xy[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation[Matrix44] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44-components0] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44-components1] PASSED [ 56%] tests/test_06_math/test_605_matrix44.py::TestMatrix44::test_from_2d_transformation_checks_component_count[Matrix44-components2] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::test_has_matrix_2d_stretching PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::test_has_matrix_3d_stretching PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_translate[Matrix44] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_z_rotate[Matrix44] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_scale[Matrix44] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestFast2dTransform::test_fast_scale_rotate_translate[Matrix44] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestTransformArrayInplace::test_ndim_2[Matrix44] PASSED [ 57%] tests/test_06_math/test_605_matrix44.py::TestTransformArrayInplace::test_ndim_3[Matrix44] PASSED [ 57%] tests/test_06_math/test_606_convexhull.py::test_convex_hull_raises PASSED [ 57%] tests/test_06_math/test_606_convexhull.py::test_convex_hull_set1 PASSED [ 57%] tests/test_06_math/test_606_convexhull.py::test_convex_hull_set2 PASSED [ 57%] tests/test_06_math/test_606_convexhull.py::test_convex_hull_set3 PASSED [ 57%] tests/test_06_math/test_607_perlin_noise.py::test_simplex_2d_range PASSED [ 57%] tests/test_06_math/test_607_perlin_noise.py::test_simplex_2d_octaves_range PASSED [ 57%] tests/test_06_math/test_607_perlin_noise.py::test_simplex_3d_range PASSED [ 57%] tests/test_06_math/test_607_perlin_noise.py::test_simplex_3d_octaves_range PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_virtual PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_with_vertical PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_with_horizontal PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_with_vertical_and_horizontal PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_parallel_vertical PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_parallel_horizontal PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_normal_vertical PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersection_by_line_end_points PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_real PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_real_colinear PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_coincident_lines[horiz] PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_coincident_lines[vert] PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_intersect_coincident_lines[diag] PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_issue_128 PASSED [ 57%] tests/test_06_math/test_608_intersection_line_line_2d.py::test_issue_664 PASSED [ 57%] tests/test_06_math/test_609_point_on_line.py::test_distance_point_horiz_line PASSED [ 57%] tests/test_06_math/test_609_point_on_line.py::test_distance_point_vertical_line PASSED [ 57%] tests/test_06_math/test_609_point_on_line.py::test_is_point_on_horiz_line PASSED [ 57%] tests/test_06_math/test_609_point_on_line.py::test_is_point_on_vertical_line PASSED [ 57%] tests/test_06_math/test_609_point_on_line.py::test_is_point_on_diag_line PASSED [ 57%] tests/test_06_math/test_610_ocs.py::test_wcs_to_ocs PASSED [ 57%] tests/test_06_math/test_610_ocs.py::test_ocs_to_wcs PASSED [ 57%] tests/test_06_math/test_610_ocs.py::test_matrix44_to_ocs PASSED [ 57%] tests/test_06_math/test_610_ocs.py::test_matrix44_to_wcs PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_ucs_init PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_ucs_init_ux_uy PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_ucs_init_ux_uz PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_ucs_init_uy_uz PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_translation PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_rotation PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_matrix44_rotation PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_transformation PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_none_cartesian PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_arbitrary_ucs PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_ucs_direction_to_ocs_direction PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_to_ocs PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_points_to_ocs PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_to_ocs_angle_deg PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_constructor_functions PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_rotate_x_axis PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_rotate_y_axis PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_rotate_z_axis PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_rotate_local_x PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_rotate_local_y PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_rotate_local_z PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_shift_ucs PASSED [ 57%] tests/test_06_math/test_611_ucs.py::test_moveto PASSED [ 57%] tests/test_06_math/test_612_ucs_pass_trough.py::test_u_vectors PASSED [ 57%] tests/test_06_math/test_612_ucs_pass_trough.py::test_to_wcs PASSED [ 57%] tests/test_06_math/test_612_ucs_pass_trough.py::test_points_to_wcs PASSED [ 57%] tests/test_06_math/test_612_ucs_pass_trough.py::test_to_ocs PASSED [ 57%] tests/test_06_math/test_612_ucs_pass_trough.py::test_points_to_ocs PASSED [ 57%] tests/test_06_math/test_612_ucs_pass_trough.py::test_from_wcs PASSED [ 57%] tests/test_06_math/test_612_ucs_pass_trough.py::test_points_from_wcs PASSED [ 57%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_inside_horizontal_box PASSED [ 57%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_outside_horizontal_box PASSED [ 57%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_colinear_outside_horizontal_box PASSED [ 57%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_corners_horizontal_box PASSED [ 57%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_inside_slanted_box PASSED [ 57%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_outside_slanted_box PASSED [ 57%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_corners_slanted_box PASSED [ 57%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_borders_slanted_box_stable PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_shape_c_is_not_convex PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_ccw_polygon[point8] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_ccw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point8] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point9] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point10] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point11] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point12] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point13] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_ccw_polygon[point14] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_inside_cw_polygon[point8] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_on_boundary_cw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point0] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point1] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point2] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point3] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point4] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point5] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point6] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point7] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point8] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point9] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point10] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point11] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point12] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point13] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::test_is_outside_cw_polygon[point14] PASSED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point0] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point1] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point2] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point3] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point4] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point5] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point6] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point7] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_inside_ccw_polygon[point8] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point0] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point1] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point2] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point3] SKIPPED [ 58%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point4] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point5] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point6] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_on_boundary_ccw_polygon[point7] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point0] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point1] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point2] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point3] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point4] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point5] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point6] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point7] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point8] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point9] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point10] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point11] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point12] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point13] SKIPPED [ 59%] tests/test_06_math/test_613_is_point_in_polygon_2d.py::TestCythonImplementation::test_is_outside_ccw_polygon[point14] SKIPPED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_face_count PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_regular_face PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_irregular_face PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_only_colinear_edges PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_regular_face_with_colinear_edge PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_does_not_detect_wrong_order PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_square_in_quads PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_square_in_triangles PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_triangle PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_ngons PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_subdivide_vec2_square_in_quads PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_parallel_rays_return_empty_tuple PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_intersecting_rays_return_one_tuple PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_not_intersecting_and_not_parallel_rays_return_two_tuple PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_intersecting_rays PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectionRayRay3d::test_random_intersecting_rays PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_real_intersecting_lines PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_virtual_intersecting_lines PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_not_intersecting_lines PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_touching_lines_do_intersect PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_coincident_lines_do_not_intersect[horiz] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_coincident_lines_do_not_intersect[vert] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestIntersectingLines3d::test_coincident_lines_do_not_intersect[diag] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a0-b0-c0-r0] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a1-b1-c1-r1] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a2-b2-c2-r2] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a3-b3-c3-r3] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a4-b4-c4-r4] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_normal_vector_for_3_points[a5-b5-c5-r5] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_safe_normal_vector_regular PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_safe_normal_vector_for_coincident_vertices PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_safe_normal_vector_for_colinear_vertices PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_safe_normal_vector_raises_exception_for_undefined_normal_vector PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points0-3] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points1-0] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points2-4] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points3-5] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d[points4-0.8164965809277259] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[1e-99] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[1e-09] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[0] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[1000000000.0] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::test_distance_point_line_3d_no_line[1e+99] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a0-b0-c0-r0] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a1-b1-c1-r1] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a2-b2-c2-r2] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a3-b3-c3-r3] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a4-b4-c4-r4] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_if_returns_right_handed_normals[a5-b5-c5-r5] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_transformed_counter_clockwise_vertices_ccw PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBestFitNormal::test_transformed_clockwise_vertices PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_basic_coords PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_center_of_mass_property PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_outside_triangle[p0] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_outside_triangle[p1] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_outside_triangle[p2] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_inside_triangle[p0] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_inside_triangle[p1] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestBarycentricCoords::test_point_inside_triangle[p2] PASSED [ 59%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[-1] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[0] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[1] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_returns_always_two_or_more_vertices[3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_works_if_start_is_equal_to_end PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q1[2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q1[3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q1[4] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q1[5] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q3[2] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q3[3] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q3[4] PASSED [ 60%] tests/test_06_math/test_614_construct_3d.py::TestLinearVertexSpacing::test_correct_spacing_in_Q3[5] PASSED [ 60%] tests/test_06_math/test_615_rytz_axis.py::test_exception PASSED [ 60%] tests/test_06_math/test_615_rytz_axis.py::test_simple_case PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_init PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_init_form_3_colinear_points PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_init_form_3p PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_equal PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_init_form_vector PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_signed_distance_to PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_distance_to PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_is_coplanar PASSED [ 60%] tests/test_06_math/test_616_plane.py::test_is_coplanar_plane PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestSplitConvexPolygon::test_spit_horizontal_square PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestSplitConvexPolygon::test_ignore_coplanar_square PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestSplitConvexPolygon::test_return_coplanar_square_front PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestSplitConvexPolygon::test_return_coplanar_square_back PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_intersection_line PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_line_above_plane PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_line_below_plane PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_colinear_start_point_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_ignore_coplanar_start_point_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_colinear_end_point_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_ignore_coplanar_end_point_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectLine::test_coplanar_line_has_no_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectRay::test_intersection_line PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectRay::test_coplanar_ray_has_no_intersection PASSED [ 60%] tests/test_06_math/test_616_plane.py::TestIntersectRay::test_plane_parallel_to_yz PASSED [ 60%] tests/test_06_math/test_617_clockwise_orientation.py::test_has_clockwise_orientation[vertices0] PASSED [ 60%] tests/test_06_math/test_617_clockwise_orientation.py::test_has_clockwise_orientation[vertices1] PASSED [ 60%] tests/test_06_math/test_617_clockwise_orientation.py::test_has_counter_clockwise_orientation[vertices0] PASSED [ 60%] tests/test_06_math/test_617_clockwise_orientation.py::test_has_counter_clockwise_orientation[vertices1] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_no_clipping[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_regular_clip_inside_outside[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_regular_clip_outside_inside[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_horizontal_left_to_right[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_horizontal_right_to_left[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_vertical[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_diagonal[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_diagonal_edge_to_edge[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_horizontal_edge[polygon-bottom] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_horizontal_edge[polygon-top] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_vertical_edge[polygon-left] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_vertical_edge[polygon-right] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_no_clipping[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_regular_clip_inside_outside[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_regular_clip_outside_inside[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_horizontal_left_to_right[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_horizontal_right_to_left[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_vertical[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_diagonal[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_crossing_diagonal_edge_to_edge[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_horizontal_edge[rect-bottom] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_horizontal_edge[rect-top] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_vertical_edge[rect-left] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipSingleLineAtConvexBoundary::test_colinear_vertical_edge[rect-right] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolylineAtConvexBoundary::test_crossing_zigzag[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolylineAtConvexBoundary::test_crossing_zigzag[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolylineAtConvexBoundary::test_closed_rectangle PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_do_overlap_clipping_rect[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_is_inside_rect[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_is_outside_rect[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_circle_outside_rect[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_circle_inside_rect[polygon] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_do_overlap_clipping_rect[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_is_inside_rect[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_subject_is_outside_rect[rect] PASSED [ 60%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_circle_outside_rect[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_circle_inside_rect[rect] PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_clockwise_oriented_clipping_rect PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_rect_outside_circle PASSED [ 61%] tests/test_06_math/test_618_clipping.py::TestClipPolygonAtConvexBoundary::test_rect_inside_circle PASSED [ 61%] tests/test_06_math/test_618_clipping.py::test_imprecisions_in_edge_intersection PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_start_point_is_not_an_intersection_point PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_end_point_is_not_an_intersection_point PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_corner_point_is_not_an_intersection_point PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_vertical_line_does_intersect_skewed_line PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_horizontal_line_does_intersect_skewed_line PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_orthogonal_lines_do_intersect PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_parallel_vertical_lines_do_not_intersect PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_parallel_horizontal_lines_do_not_intersect PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_collinear_lines_do_not_intersect PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_coincident_lines_do_not_intersect[horiz] PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_coincident_lines_do_not_intersect[vert] PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_coincident_lines_do_not_intersect[diag] PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_virtual_intersection_is_not_an_intersection PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_issue_128 PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestLineIntersection::test_issue_664 PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_overlapping_polygons_are_united PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_vertex_order_is_not_important PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_a_polygon_inside_another_polygon_is_ignored PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_a_failed_union_returns_an_empty_list PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_disconnected_polygons_cannot_be_united PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_overlapping_but_collinear_edges_cannot_be_united PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanUnion::test_polygons_with_a_shared_edge_cannot_be_united PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanDifference::test_difference_of_overlapping_polygons PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanDifference::test_polygon_inside_polygon PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanDifference::test_polygon_inside_polygon_reverse_difference PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanDifference::test_polygon_outside_polygon PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanIntersection::test_intersection_of_overlapping_polygons PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanIntersection::test_polygon_inside_polygon PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::TestBooleanIntersection::test_polygon_outside_polygon PASSED [ 61%] tests/test_06_math/test_619_greiner_hormann.py::test_issue_1094_is_inside_polygon_function_was_incorrect PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_open_uniform_knot_order_2 PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_open_uniform_knot_order_3 PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_open_uniform_knot_order_4 PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_uniform_knot_order_2 PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_uniform_knot_order_3 PASSED [ 61%] tests/test_06_math/test_620_knot.py::test_uniform_knot_order_4 PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_is_clamped PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_is_a_clamped_bspline[knots0] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_is_a_clamped_bspline[knots1] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[no repetitive knot values] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[2 repetitive knot values] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[3 repetitive knot values] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[inaccuracy at the end] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_is_not_a_clamped_bspline[inaccuracy at the start] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_normalize_knots PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_normalize_knots_if_needed PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_bspline_insert_knot PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_transform_interface PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_bezier_decomposition PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_cubic_bezier_approximation PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_subdivide_params PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_weired_closed_spline PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_bezier_decomposition_issue PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_flattening PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_bspline_point_calculation_to_pre_calculated_results[degree=1] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_bspline_point_calculation_to_pre_calculated_results[degree=2] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_bspline_point_calculation_to_pre_calculated_results[degree=3] PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_bspline_derivative_calculation_to_pre_calculated_results PASSED [ 61%] tests/test_06_math/test_621_bspline.py::test_bspline_point_calculation_against_derivative_calculation PASSED [ 61%] tests/test_06_math/test_622_bsplineu.py::test_bsplineu_points PASSED [ 61%] tests/test_06_math/test_622_bsplineu.py::test_dbsplineu_points PASSED [ 61%] tests/test_06_math/test_622_bsplineu.py::test_dbsplineu_derivative_1 PASSED [ 61%] tests/test_06_math/test_622_bsplineu.py::test_dbsplineu_derivative_2 PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_rbspline PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_rbsplineu PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_rational_spline_from_circular_arc_has_expected_parameters PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_rational_spline_from_circular_arc_has_same_end_points PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_rational_spline_from_elliptic_arc_has_expected_parameters PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_rational_spline_from_elliptic_arc_has_same_end_points PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_nurbs_arc_parameter_quarter_arc_1_segment PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_nurbs_arc_parameter_quarter_arc_4_segments PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_nurbs_arc_parameter_full_circle PASSED [ 61%] tests/test_06_math/test_623_rbspline.py::test_flattening_issue PASSED [ 61%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_uniform_t_array[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_uniform_t_array[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_chord_length_t_array[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_chord_length_t_array[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_centripetal_length_t_array[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_centripetal_length_t_array[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_arc_distances PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_arc_length_t_array[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_arc_length_t_array[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_invalid_order_count_combination PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[average-2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[average-3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[average-4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[natural-2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[natural-3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_knot_generation[natural-4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_averaged_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_averaged_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_averaged_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_averaged_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_averaged_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_averaged_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_averaged_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_averaged_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_natural_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_natural_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_natural_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_unconstrained_natural_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_natural_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_natural_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_natural_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_constrained_natural_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_double_knots[2] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_double_knots[3] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_double_knots[4] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_double_knots[5] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_bspline_interpolation[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_bspline_interpolation[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_create_t_vectors_for_identical_points[distance] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_create_t_vectors_for_identical_points[centripetal] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_create_t_vectors_for_identical_points[arc] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_bspline_interpolation_first_derivatives[fit_points0] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_bspline_interpolation_first_derivatives[fit_points1] PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_check_values PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_cad_fit_point_interpolation_for_2_points PASSED [ 62%] tests/test_06_math/test_624_global_bspline_interpolation.py::test_cad_fit_point_interpolation_for_5_points PASSED [ 62%] tests/test_06_math/test_626_local_bspline_interpolation.py::test_estimate_tangents_3p PASSED [ 62%] tests/test_06_math/test_626_local_bspline_interpolation.py::test_estimate_tangents_5p PASSED [ 62%] tests/test_06_math/test_626_local_bspline_interpolation.py::test_local_cubic_bspline_interpolation_from_tangents PASSED [ 62%] tests/test_06_math/test_626_local_bspline_interpolation.py::test_local_cubic_bspline_interpolation PASSED [ 62%] tests/test_06_math/test_627_bspline_basis.py::test_property_exists[Basis] PASSED [ 62%] tests/test_06_math/test_627_bspline_basis.py::test_bspline_basis_vector[Basis] PASSED [ 62%] tests/test_06_math/test_627_bspline_basis.py::test_find_span[Basis] PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_points_2d PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_bezier_objects_are_immutable PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_point_and_tangent_2d PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_points_3d PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_points PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_derivative_1 PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_derivative_2 PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_reverse PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_transform_interface PASSED [ 62%] tests/test_06_math/test_629_bezier.py::test_flattening PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_accepts_2d_points[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_objects_are_immutable[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_2d_tangent_computation[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_approximate[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_reverse[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_transform_interface[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_transform_returns_always_3d_curves[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_for_equal_start_and_end_points[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_with_large_elevation[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_for_equal_start_and_end_points_large_elevation[Bezier4P] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-1e+99] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-1e+79] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-1e+59] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-1e+39] PASSED [ 62%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-1e+19] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-1000000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-1000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-1000] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P-0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P--1e+99] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P--1e+79] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P--1e+59] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P--1e+39] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P--1e+19] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P--1000000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P--1000000.0] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_flattening_big_z_coordinates[Bezier4P--1000] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_pickle_support[Bezier4P] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_cubic_bezier_arc_parameters_computation[cubic_bezier_arc_parameters] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_from_circular_arc[cubic_bezier_from_arc] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_from_circular_full_arc[cubic_bezier_from_arc] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_from_simple_elliptic_arc[cubic_bezier_from_ellipse] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_from_complex_elliptic_arc[cubic_bezier_from_ellipse] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_arc_params_issue_708[cubic_bezier_arc_parameters] PASSED [ 63%] tests/test_06_math/test_630a_bezier4p_base.py::test_bezier_curves_ellipse_issue_708[cubic_bezier_from_ellipse] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_vertex_interpolation PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_invalid_bezier_interpolation PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_quadratic_to_cubic_bezier PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_g1_continuity_for_bezier_curves PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_g1_continuity_for_degenerated_bezier_curves PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_flatten_degenerated_bezier_curves[curve0] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_flatten_degenerated_bezier_curves[curve1] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_bezier_curves_to_bspline[G1] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_bezier_curves_to_bspline[without G1] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_bezier_curves_to_bspline[gap] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_quality_of_bezier_to_bspline_conversion_1 PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_quality_of_bezier_to_bspline_conversion_2 PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_bezier_curves_to_bspline_error PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestSplitBezier::test_t_validation[-1] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestSplitBezier::test_t_validation[2] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestSplitBezier::test_control_point_validation PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestSplitBezier::test_split_cubic_bezier PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_quadratic_bezier_from_3_points PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::test_cubic_bezier_from_3_points PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_linear_curve PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_reverse_linear_curve PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_cubic_bezier_curve_with_one_extrema PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_cubic_bezier_curve_with_two_extrema PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_closed_3d_cubic_bezier_curve PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestBezierCurveBoundingBox::test_quadratic_bezier_curve_box PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_no_intersection PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_one_intersection_point PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_two_intersection_points PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_three_intersection_points PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_collinear_ray_and_curve PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_linear_ray_and_curve[0] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_linear_ray_and_curve[0.5] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_linear_ray_and_curve[1] PASSED [ 63%] tests/test_06_math/test_630b_bezier4p_functions.py::TestRayCubicBezierCurve2dIntersection::test_linear_ray_and_curve[3] PASSED [ 63%] tests/test_06_math/test_631_euler_spiral.py::test_approximate PASSED [ 63%] tests/test_06_math/test_631_euler_spiral.py::test_radius PASSED [ 63%] tests/test_06_math/test_631_euler_spiral.py::test_tangent PASSED [ 63%] tests/test_06_math/test_631_euler_spiral.py::test_distance PASSED [ 63%] tests/test_06_math/test_631_euler_spiral.py::test_circle_midpoint PASSED [ 63%] tests/test_06_math/test_631_euler_spiral.py::test_as_bspline PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_accepts_2d_points[Bezier3P] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_objects_are_immutable[Bezier3P] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_approximate[Bezier3P] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_first_derivative[Bezier3P] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_reverse_points[Bezier3P] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_transformation_interface[Bezier3P] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_transformation_returns_always_3d_curves[Bezier3P] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening[Bezier3P] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-1e+99] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-1e+79] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-1e+59] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-1e+39] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-1e+19] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-1000000000.0] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-1000000.0] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-1000] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P-0] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P--1e+99] PASSED [ 63%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P--1e+79] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P--1e+59] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P--1e+39] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P--1e+19] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P--1000000000.0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P--1000000.0] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_flattening_big_z_coordinates[Bezier3P--1000] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_approximated_length[Bezier3P] PASSED [ 64%] tests/test_06_math/test_632_bezier3p.py::test_pickle_support[Bezier3P] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_init PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_init_none PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_init_empty_list PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v0] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v1] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v2] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v3] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_is_empty[v4] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_not_is_empty PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_init_with_with_empty_list PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_inside PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_all_inside PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_any_inside PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_has_overlap_accepts_2d_bounding_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_has_intersection_accepts_2d_bounding_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_do_intersect_and_overlap PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_do_not_intersect_or_overlap PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_do_not_intersect_or_overlap_empty PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_crossing_2d_boxes PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_crossing_3d_boxes PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_touching_2d_boxes PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_touching_3d_boxes PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_extend PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_extend_by_empty_list PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_extend_by_bbox PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_size PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_center PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_of_two_bounding_boxes PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_bbox_with_empty_bbox PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_empty_bbox_with_bbox PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_empty_bounding_boxes PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_union_different_bounding_boxes PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_rect_vertices_for_empty_bbox_raises_value_error PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_cube_vertices_for_empty_bbox_raises_value_error PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_rect_vertices_returns_vertices_in_counter_clockwise_order PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_cube_vertices_returns_vertices_in_counter_clockwise_order PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_contains_other_bounding_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_growing_empty_bounding_box_does_nothing PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_grow_bounding_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox::test_shrinking_to_zero_or_below_raises_exception PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_init PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_init_with_with_empty_list PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_init_none PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v0] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v1] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v2] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v3] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_is_empty[v4] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_not_is_empty PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_inside PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_extend PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_size PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_center PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_rect_vertices_for_empty_bbox_raises_value_error PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_rect_vertices_returns_vertices_in_counter_clockwise_order PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_contains_other_bounding_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_2d_box_contains_3d_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_3d_box_contains_2d_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_grow_bounding_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_has_overlap_accepts_3d_bounding_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::TestBoundingBox2d::test_has_intersection_accepts_3d_bounding_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_accept_3d_box PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_empty_box_intersection PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_no_intersection PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_touches_at_one_corner PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_half_intersection PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_multiple_intersections[v10-v20] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_multiple_intersections[v11-v21] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_multiple_intersections[v12-v22] PASSED [ 64%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_full_intersection PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_smaller_inside_bigger_intersection PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test2DIntersection::test_intersection_box_without_an_area_is_empty PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_accept_3d_box PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_empty_box_intersection PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_no_intersection PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_touches_at_one_corner PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_half_intersection PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_multiple_intersections[v10-v20] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_multiple_intersections[v11-v21] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_multiple_intersections[v12-v22] PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_full_intersection PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_smaller_inside_bigger_intersection PASSED [ 65%] tests/test_06_math/test_640_bbox.py::Test3DIntersection::test_intersection_box_without_a_volume_is_empty PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_init_with_angle PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_Ray2D_get_x_y PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_intersect PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_parallel PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_intersect_with_vertical PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_intersect_with_horizontal PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_intersect_with_vertical_and_horizontal PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_parallel_vertical PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_normal_vertical PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_normal PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_normal_horizontal PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_ray2d_angle PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_bisectrix PASSED [ 65%] tests/test_06_math/test_641_construction_ray.py::TestConstructionRay::test_two_close_horizontal_rays PASSED [ 65%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_is_vertical PASSED [ 65%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_left_of_line PASSED [ 65%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_intersect_horizontal_line PASSED [ 65%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_intersect_vertical_line PASSED [ 65%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_bounding_box PASSED [ 65%] tests/test_06_math/test_642_construction_line.py::TestConstructionLine::test_translate PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_defaults PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_init PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_from_points PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_init_angle_90 PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_set_center PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_set_width PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_set_height PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_incircle_radius PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_circum_circle_radius PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_set_angle PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_translate PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_expand PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_scale PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_intersect_0 PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_intersect_1 PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_intersect_2 PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_is_inside_horiz_box PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_is_inside_rotated_box PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_any_corner_inside PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_overlapping_boxes PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::TestTextBox::test_overlapping_crossing_boxes PASSED [ 65%] tests/test_06_math/test_643_construction_box.py::test_issue_2020_01_30 PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_init_circle PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_within PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_tangent PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_intersect_ray_pass PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_intersect_ray_touch PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_vertical_ray PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_horizontal_ray PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_diagonal_ray PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_diagonal_ray_through_mid_point PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_horizontal_ray_through_mid_point PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::TestCircleInterectRay::test_vertical_ray_through_mid_point PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_circles_do_not_intersect PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center0-point0] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center1-point1] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center2-point2] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center3-point3] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center4-point4] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center5-point5] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center6-point6] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_two_circles_touching_at_one_point[center7-point7] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_intersect_circle_intersect PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_inner_circle_touches_outer_circle_issue_982[outer circle right of inner circle] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_inner_circle_touches_outer_circle_issue_982[outer circle left of inner circle] PASSED [ 65%] tests/test_06_math/test_644_construction_circle.py::test_inner_circle_touches_outer_circle_issue_982[outer circle above of inner circle] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_inner_circle_touches_outer_circle_issue_982[outer circle below of inner circle] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_vertices PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_flattening PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_create_3P PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_no_point[start0-end0] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_no_point[start1-end1] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_no_point[start2-end2] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_no_point[start3-end3] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_one_point[start0-end0] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_one_point[start1-end1] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_one_point[start2-end2] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start0-end0] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start1-end1] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start2-end2] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start3-end3] PASSED [ 66%] tests/test_06_math/test_644_construction_circle.py::test_intersect_line_in_two_points[start4-end4] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_from_2p_angle_complex PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_from_2p_angle_simple PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_from_2p_radius PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_from_3p PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_spatial_arc_from_3p PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_bounding_box PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_angles PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_vertices PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_tangents PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_angle_span PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_segment_count PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-0-180-0.35-3] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-0-180-0.1-5] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_flattening[0-0-360-0.1-0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_flattening[-1-0-180-0.35-3] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-270-90-0.1-5] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-90--90-0.1-5] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1-0-0-0.1-0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_flattening[1--45--45-0.1-0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p1] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p2] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p3] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_point_is_in_arc_range[p4] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_point_is_not_in_arc_range[p0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_point_is_not_in_arc_range[p1] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_point_is_not_in_arc_range[p2] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s0-e0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s1-e1] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s2-e2] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s3-e3] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s4-e4] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_one_point[s5-e5] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_two_points[s0-e0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_line_in_two_points[s1-e1] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_line[s0-e0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_line[s1-e1] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_line[s2-e2] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_one_point[c0-1.0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_one_point[c1-0.5] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_one_point[c2-1.0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_two_points[c0-1.0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_circle_in_two_points[c1-1.0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_circle[c0-0.5] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_circle[c1-1.0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_circle[c2-2.0] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_circle[c3-0.5] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_arc_in_one_point[c0-1.0-90-270] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_arc_in_one_point[c1-1.0-90-180] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_arc_in_two_points[c0-1.0-90-270] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_intersect_arc_in_two_points[c1-1.0-90-270] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_arc[c0-1.0-90-270] PASSED [ 66%] tests/test_06_math/test_645_construction_arc.py::test_arc_does_not_intersect_arc[c1-1.0-90-270] PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_0_offset PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_2_horiz_vertices_left_offset PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_2_horiz_vertices_right_offset PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_2_vert_vertices_left_offset PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_2_vert_vertices_right_offset PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_3_horiz_collinear_vertices PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_3_vert_collinear_vertices PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_3_vertices PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_closed_square_inside PASSED [ 66%] tests/test_06_math/test_646_offset_vertices_2d.py::test_closed_triangle_inside PASSED [ 67%] tests/test_06_math/test_646_offset_vertices_2d.py::test_closed_shape_with_collinear_last_segment PASSED [ 67%] tests/test_06_math/test_646_offset_vertices_2d.py::test_3_horiz_collinear_vertices_closed PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::test_transform_angle_without_ocs PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::test_transform_length_without_ocs PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_no_transformation[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_no_transformation[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_no_transformation[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_axis[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_axis[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_axis[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_axis[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_axis[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_axis[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_z_axis[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_z_axis[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_z_axis[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_y_axis[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_y_axis[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_y_axis[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_z_axis[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_z_axis[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_and_z_axis[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_and_z_axis[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_and_z_axis[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_y_and_z_axis[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_y_and_z_axis[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_y_and_z_axis[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformThickness::test_reflection_in_x_y_and_z_axis[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_no_transformation[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_no_transformation[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_no_transformation[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_uniform_scaling_for_all_axis[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_uniform_scaling_for_all_axis[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_uniform_scaling_for_all_axis[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_x_scaling[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_x_scaling[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_x_scaling[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_y_scaling[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_y_scaling[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_y_scaling[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_x[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_x[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_x[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_y[-2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_y[0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformWidth::test_non_uniform_xy_scaling_for_y[2] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-0_0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-360] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0-0_1] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0--90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_no_transformation[0--180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-0_0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-360] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0-0_1] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0--90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[45-0--180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-0_0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-360] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0-0_1] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0--90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[90-0--180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-0_0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-360] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0-0_1] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0--90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[180-0--180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-0_0] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-90] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-180] PASSED [ 67%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[270-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-45-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-90-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_rotation[-180-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-45-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-90-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-180-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x-270-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--45-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--90-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0--90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--180-0--180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-0_0] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-90] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-180] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-360] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0-0_1] PASSED [ 68%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[x--270-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-45-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-90-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-180-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y-270-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--45-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--90-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--180-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[y--270-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-45-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-90-0--180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-0_0] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-180] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-360] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0-0_1] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0--90] PASSED [ 69%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-180-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy-270-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--45-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--90-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--180-0--180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-0_0] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-180] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-360] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0-0_1] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0--90] PASSED [ 70%] tests/test_06_math/test_647_transform_tools.py::TestTransformCCWAngles::test_reflections[xy--270-0--180] PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_default_init PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_dxfattribs PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_get_start_and_end_vertex PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_from_arc PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_swap_axis_full_ellipse PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_swap_axis_half_ellipse PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_swap_axis_arbitrary_params PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_params PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_angle_to_param PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_vertices PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_tangents PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_params_from_vertices_random PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_to_ocs PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[0-180-0.35-3] PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[0-180-0.1-5] PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[270-90-0.1-5] PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[90--90-0.1-5] PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[0-0-0.1-0] PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening[-45--45-0.1-0] PASSED [ 70%] tests/test_06_math/test_648_construction_ellipse.py::test_flattening_ellipse PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[0-0] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[90-90] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-90--90] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[180-180] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-180--180] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[270-270] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-270--270] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[360-360] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-360--360] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[720-720] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_no_curve[-720--720] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[0-360] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[360-0] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[-360-0] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[0--360] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[90-450] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[180-540] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[180--180] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[-180-180] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[90--270] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_closed_curve[-90-270] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[0-90-90] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[0--90-270] PASSED [ 70%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[0-180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[0--180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[180-360-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-180--360-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-90-360-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[90--360-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-90--360-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[90-360-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[360-90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[360--90-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-360-90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-360--90-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[30--30-300] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-30-30-60] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[90--90-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[-90-90-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[360-400-40] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpan::test_partial_arc[400-360-320] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[0-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-90--90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-180--180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[270-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-270--270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[360-360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-360--360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[720-720] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_no_curve[-720--720] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[0-360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[360-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[-360-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[0--360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[90-450] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[180-540] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[180--180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[-180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[90--270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_closed_curve[-90-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[0-90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[0--90-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[0-180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[0--180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[180-360-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-180--360-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-90-360-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[90--360-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-90--360-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[90-360-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[360-90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[360--90-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-360-90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-360--90-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[30--30-300] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-30-30-60] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[90--90-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[-90-90-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[360-400-40] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestEllipseParamSpan::test_partial_arc[400-360-320] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[0-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[90-90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-90--90] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-180--180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[270-270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-270--270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[360-360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-360--360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[720-720] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_no_curve[-720--720] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[0-360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[360-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[-360-0] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[0--360] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[90-450] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[180-540] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[180--180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[-180-180] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[90--270] PASSED [ 71%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_closed_curve[-90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[0-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[0--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[0-180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[0--180-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[180-360-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-180--360-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-90-360-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[90--360-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-90--360-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[90-360-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[360-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[360--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-360-90-90] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-360--90-270] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[30--30-300] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-30-30-60] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[90--90-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[-90-90-180] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[360-400-40] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestArcParamSpanRadians::test_partial_arc[400-360-320] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[0-0_0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[3.141592653589793-3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[6.283185307179586-6.283185307179586] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[0-0_1] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[-3.141592653589793--3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_no_ellipse[-6.283185307179586--6.283185307179586] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[0-6.283185307179586] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[6.283185307179586-0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[3.141592653589793--3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[0--6.283185307179586] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[-6.283185307179586-0] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_full_ellipse[-3.141592653589793-3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[0-1.5707963267948966-1.5707963267948966] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[1.5707963267948966-0-4.71238898038469] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[1.5707963267948966-3.141592653589793-1.5707963267948966] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[1.5707963267948966--1.5707963267948966-3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[3.141592653589793-0-3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[0-3.141592653589793-3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[0--1.5707963267948966-4.71238898038469] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[-1.5707963267948966-0-1.5707963267948966] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[-1.5707963267948966--3.141592653589793-4.71238898038469] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[-1.5707963267948966-1.5707963267948966-3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[-3.141592653589793-0-3.141592653589793] PASSED [ 72%] tests/test_06_math/test_650_elliptic_arc_span.py::TestParamSpan::test_elliptic_arc[0--3.141592653589793-3.141592653589793] PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_empty_polyline PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_len_open_polyline PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_len_closed_polyline PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_get_single_vertex PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_get_last_vertex PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_get_vertex_slice PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_vertex_slice_has_same_type PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestSequenceInterface::test_is_immutable PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_empty_polyline_raises_Value_error PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_0 PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_1 PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_2 PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_3 PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_data_for_negative_index PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_vertices_at_the_same_location PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestExtendedData::test_raises_index_error PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestLength::test_empty_polyline PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestLength::test_open_polyline PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestLength::test_closed_polyline PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestLength::test_vertices_at_the_same_location PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIsClosed::test_empty_polyline_is_not_closed PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIsClosed::test_polyline_with_too_few_vertices_is_not_closed PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIsClosed::test_poly1_is_not_closed PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIsClosed::test_poly2_is_closed PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_empty_polyline[-1] PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_empty_polyline[0] PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_empty_polyline[1] PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_polyline_with_one_vertex[-1] PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_polyline_with_one_vertex[0] PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_polyline_with_one_vertex[1] PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_short_polyline PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestIndexAt::test_long_polyline PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_empty_polyline_raises_error PASSED [ 72%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_too_few_vertices_raises_error PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_out_of_range_raises_error PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolation_at_vertex_location PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolate_last_vertex_of_closed_polyline PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolate_at_first_edge PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolate_at_second_edge PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolation_for_coincident_vertices_in_front PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolation_for_coincident_vertices_after PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestVertexAt::test_interpolation_for_coincident_vertices_between PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_raises_error_invalid_count[-1] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_raises_error_invalid_count[0] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_raises_error_invalid_count[1] PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_divide_by_3 PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_divide_by_length PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestDivide::test_divide_by_length_force_last_vertex PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestApproximationAccuracy::test_unit_circle PASSED [ 73%] tests/test_06_math/test_651_construction_polyline.py::TestApproximationAccuracy::test_unit_circle_by_path PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestGenericFeatures::test_access_to_construction_polyline PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestGenericFeatures::test_get_max_t PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestQuadraticBezier::test_start_param PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestQuadraticBezier::test_end_param PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestQuadraticBezier::test_certain_distance PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestCubicBezier::test_start_param PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestCubicBezier::test_end_param PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestCubicBezier::test_certain_distance PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestCubicSpline::test_max_t_is_not_1 PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestCubicSpline::test_start_param PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestCubicSpline::test_end_param PASSED [ 73%] tests/test_06_math/test_652_approx_param_t.py::TestCubicSpline::test_certain_distance PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_single_segments PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_none_intersecting_single_segments PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_cross PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_x_cross PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_zig_zag_lines PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_zig_zag_lines_with_common_vertices PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_complex_ellipse_with_spline_intersection PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_intersecting_squares PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_squares_with_common_corner_vertex PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_coincident_common_segment PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_coincident_common_last_segment PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines2d::test_coincident_common_intermediate_segment PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines3d::test_intersecting_single_segments PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines3d::test_intersecting_single_vertical_segment PASSED [ 73%] tests/test_06_math/test_653_polyline_intersection.py::TestIntersectPolylines3d::test_none_intersecting_single_segments PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_can_not_build_empty_tree PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_from_one_point PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_contains_point PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_iter_tree PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_from_two_points PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestFirstLevel::test_store_duplicate_points PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_setup_is_correct PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_known_point_is_present[point0] PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_known_point_is_present[point1] PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_known_point_is_present[point2] PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_contains_all_random_points PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_nearest_neighbor[n0-point0] PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_nearest_neighbor[n1-point1] PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_nearest_neighbor[n2-point2] PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_find_points_in_sphere PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_find_points_in_bbox PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_iter_tree PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_avg_spherical_envelope_radius PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_avg_leaf_size PASSED [ 73%] tests/test_06_math/test_654_rtree.py::TestBiggerTree::test_avg_nn_distance PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_Vec2_compatibility PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_split_strategies[box_split] PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_collect_leafs PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_average_leaf_size_of_random_points PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_avg_spherical_envelope_radius_of_random_points PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_avg_nn_distance_of_random_points PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_avg_methods_return_0_for_too_small_trees PASSED [ 73%] tests/test_06_math/test_654_rtree.py::test_spherical_envelope PASSED [ 73%] tests/test_06_math/test_655_dbscan.py::test_two_simple_cluster PASSED [ 73%] tests/test_06_math/test_655_dbscan.py::test_cluster_noise PASSED [ 73%] tests/test_06_math/test_656_k_means.py::test_cluster_random_points[4] PASSED [ 73%] tests/test_06_math/test_656_k_means.py::test_cluster_random_points[5] PASSED [ 73%] tests/test_06_math/test_656_k_means.py::test_cluster_random_points[6] PASSED [ 73%] tests/test_06_math/test_656_k_means.py::test_measure_average_cluster_radius PASSED [ 73%] tests/test_06_math/test_656_k_means.py::test_measure_average_intra_cluster_distance PASSED [ 73%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_ccw_square[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_ccw_square[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_cw_square[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_cw_square[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_concave_gear_shape[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_concave_gear_shape[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_square_hole[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_square_hole[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_two_holes[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_two_holes[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_steiner_point[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_triangulate_square_with_steiner_point[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_empty_exterior[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_empty_exterior[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_empty_holes[CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_empty_holes[Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Star-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Star-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Simple Diamond-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Simple Diamond-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[No Concave Vertex-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[No Concave Vertex-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Slanted Side-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Slanted Side-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[New Thing-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[New Thing-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 1-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 1-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 2-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 2-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 3-A-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 3-A-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 3-B-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 3-B-Cython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 4-CPython] PASSED [ 74%] tests/test_06_math/test_657_mapbox_earcut.py::test_polygon_data0[Edge Case 4-Cython] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_returns_zero_for_invalid_input[Radius = 0] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_returns_zero_for_invalid_input[colinear directions] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_returns_zero_for_invalid_input[opposite colinear directions] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[1.0-ax10-ax20] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[1.0-ax11-ax21] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[1.0-ax12-ax22] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[1.0-ax13-ax23] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-1.0-ax10-ax20] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-1.0-ax11-ax21] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-1.0-ax12-ax22] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-1.0-ax13-ax23] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[2.0-ax10-ax20] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[2.0-ax11-ax21] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[2.0-ax12-ax22] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[2.0-ax13-ax23] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-2.0-ax10-ax20] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-2.0-ax11-ax21] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-2.0-ax12-ax22] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_90_deg_directions[-2.0-ax13-ax23] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestInscribeCircle::test_45_deg_direction PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::test_bending_angle PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_requires_three_points PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_colinear_points_are_ignored[180deg] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_colinear_points_are_ignored[360deg] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_one_chamfer PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer::test_two_chamfers PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_requires_three_points PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_colinear_points_are_ignored[180deg] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_colinear_points_are_ignored[360deg] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_one_chamfer PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestChamfer2::test_two_chamfers PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_requires_three_points PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_colinear_points_are_ignored[180deg] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_colinear_points_are_ignored[360deg] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_points_for_45_deg PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestFillet::test_points_for_135_deg PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_requires_three_points PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_colinear_points_are_ignored[180deg] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_colinear_points_are_ignored[360deg] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[0-3] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[1-3] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[4-3] PASSED [ 74%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[16-6] PASSED [ 75%] tests/test_06_math/test_658_bevel_tools.py::TestPolygonalFillet::test_for_required_segment_count[32-10] PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_polygon_with_invalid_normal PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_intersection_point_inside PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_intersection_point_at_boundary_line PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_ignore_intersection_point_at_boundary_line PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_ignore_coplanar_start_point_as_intersection_point PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_ignore_coplanar_end_point_as_intersection_point PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_intersection_point_outside PASSED [ 75%] tests/test_06_math/test_659_intersection_line_polygon_3d.py::test_ignore_coplanar_line PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_polygon_with_invalid_normal PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_intersection_point_inside PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_intersection_point_at_boundary_line PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_ignore_intersection_point_at_boundary_line PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_intersection_point_outside PASSED [ 75%] tests/test_06_math/test_660_intersection_ray_polygon_3d.py::test_ignore_coplanar_ray PASSED [ 75%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_cube_with_ccw_vertex_orientation PASSED [ 75%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_cube_with_clockwise_vertex_orientation PASSED [ 75%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_torus_with_ccw_vertex_orientation PASSED [ 75%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_torus_with_clockwise_vertex_orientation PASSED [ 75%] tests/test_06_math/test_661_is_face_normal_pointing_outwards.py::test_flipped_cone PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_open_triangle PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_closed_triangle PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_open_square PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_closed_square PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_irregular_polygons[polygon0] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_irregular_polygons[polygon1] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_irregular_polygons[polygon2] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_two_colinear_edges PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_strict_mode_for_two_colinear_edges PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_all_colinear_edges PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_some_coincident_vertices PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_all_coincident_vertices PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_regular_convex_ngons[3] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_regular_convex_ngons[4] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_regular_convex_ngons[11] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_star_is_concave[4] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_star_is_concave[5] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_star_is_concave[11] PASSED [ 75%] tests/test_06_math/test_662_is_convex_polygon_2d.py::test_concave_quadrilateral PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points0] PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points1] PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points2] PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points3] PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points4] PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_aligned_rectangle[points5] PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_not_aligned_rectangle[points0] PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_not_aligned_rectangle[points1] PASSED [ 75%] tests/test_06_math/test_663_is_axes_aligned_rectange.py::test_is_not_aligned_rectangle[points2] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point0] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point1] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point2] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point3] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point4] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point5] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point6] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point7] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_inside_polygon[point8] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point0] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point1] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point2] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point3] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point4] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point5] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point6] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point7] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point8] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point9] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point10] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point11] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point12] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point13] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::test_point_is_outside_polygon[point14] PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_and_b_outside_no_intersections_v PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_and_b_outside_no_intersections_h PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_and_b_inside_no_intersections_h PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_outside_b_inside_1_intersection_v PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_outside_b_inside_1_intersection_h PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_inside_b_outside_1_intersection_v PASSED [ 75%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_inside_b_outside_1_intersection_h PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_outside_b_outside_2_intersections PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_outside_b_inside_3_intersections PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_a_inside_b_outside_3_intersections PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_intersection_at_vertex_outside_inside PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_touches_vertex_outside_outside PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_touches_vertex_inside_inside PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_is_colinear_to_outer_edge PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_is_colinear_to_inner_edge PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_is_colinear_to_inner_edge_reverse PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestLineClipping::test_line_is_equal_to_edge PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_outside PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_inside_no_intersection PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_inside_with_intersection PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_crossing_border PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_along_the_border_1 PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolylineClipping::test_polyline_along_the_border_2 PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_too_few_vertices[#0] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_too_few_vertices[#1] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_too_few_vertices[#2] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_too_few_vertices[#3] PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_polygon_inside_no_intersection PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_polygon_outside_no_intersection XFAIL [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_polygon_inside_with_intersection PASSED [ 76%] tests/test_06_math/test_664_concave_clipping_polygon.py::TestPolygonClipping::test_polygon_colinear_edges PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_find_closest_vertices[lower-left] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_find_closest_vertices[lower-right] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_find_closest_vertices[upper-right] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_find_closest_vertices[upper-left] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_make_inverted_clipping_polygon PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_inside_polygon[point0] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_inside_polygon[point1] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_inside_polygon[point2] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_inside_polygon[point3] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point0] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point1] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point2] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point3] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point4] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point5] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point6] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point7] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::test_point_is_outside_polygon[point8] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_basic_clipping PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_is_point_inside_inverted_polygon PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_connection_line_create_intersection_point[outside, outside] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_connection_line_create_intersection_point[border, border] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_connection_line_create_intersection_point[inside, inside] PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_line_touches_vertex_at_coincident_edge PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_line_touches_vertex_inside_inside PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestLineClipping::test_colinear_line PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestPolygonClipping::test_polygon_outside PASSED [ 76%] tests/test_06_math/test_665_inverted_clipping_polygon.py::TestPolygonClipping::test_polygon_clipping PASSED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg0-coords0] PASSED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg1-coords1] PASSED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg2-coords2] PASSED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg3-coords3] PASSED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cpython[deg4-coords4] PASSED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg0-coords0] SKIPPED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg1-coords1] SKIPPED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg2-coords2] SKIPPED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg3-coords3] SKIPPED [ 76%] tests/test_06_math/test_666_wgs84_transform.py::test_common_WGS84_projection_cython[deg4-coords4] SKIPPED [ 76%] tests/test_07_render/test_701_arrows.py::test_filled_solid_arrow PASSED [ 76%] tests/test_07_render/test_701_arrows.py::test_arrow_name PASSED [ 76%] tests/test_07_render/test_701_arrows.py::test_closed_arrow_doc_r12 PASSED [ 76%] tests/test_07_render/test_701_arrows.py::test_closed_arrow_doc_r2000 PASSED [ 76%] tests/test_07_render/test_701_arrows.py::test_render_arrow PASSED [ 76%] tests/test_07_render/test_701_arrows.py::test_virtual_entities PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_circle_open PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_circle_closed PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_close_polygon PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_close_polygon_without_doublets PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_close_circle PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_square PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_box PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_open_arrow PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_closed_arrow PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::test_cube PASSED [ 76%] tests/test_07_render/test_702_render_forms.py::TestExtrude::test_extrude_without_caps PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude::test_extrude_open_profiles_with_caps PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude::test_extrude_with_caps PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_from_profiles_linear PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_cylinder PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_spline_interpolation PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_spline_interpolated_profiles PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_from_profiles_splines PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_cone PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_rotation_form PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_translate PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_scale PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_rotate PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_square_by_radius PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_heptagon_by_edge_length PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_closed_torus_ngon_faces PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_open_torus_ngon_faces PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_major_radius_is_bigger_than_minor_radius[2] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_major_radius_is_bigger_than_minor_radius[1] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_major_radius_is_bigger_than_minor_radius[-2] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_major_radius_is_bigger_than_zero PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestTorus::test_minor_radius_is_bigger_than_zero PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_intersection_profiles PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_z_in_x_axis PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_z_in_z_axis_raise_exception[n0] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_z_in_z_axis_raise_exception[n1] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_ext_preserve_x PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestReferenceFrame::test_ref_ext_preserve_y PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_divide_path_count PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_divide_path_vertices PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_divide_path_into_equally_spaced_segments PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_divide_path_has_to_include_all_source_vertices PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_partial_path_factors PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_extrude_square_without_intermediate_profiles PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_extrude_square_with_intermediate_profiles PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_extrude_with_twist PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestExtrude2::test_extrude_with_scale PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_helix_positive_pitch_goes_up[True] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_helix_positive_pitch_goes_up[False] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_helix_negative_pitch_goes_down[True] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_helix_negative_pitch_goes_down[False] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_turtle_turn_left PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_turtle_turn_right PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::test_turtle_move_relative PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_default_arguments PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_cylinder_height_of_0_raises_value_error PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[arbitrary] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[+z axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[-z axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[+x axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[-x axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[+y axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_various_directions[-y axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCylinder2p::test_final_location_for_negative_z_axis PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_default_arguments PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_cylinder_height_of_0_raises_value_error PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[arbitrary] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[+z axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[-z axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[+x axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[-x axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[+y axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_various_directions[-y axis] PASSED [ 77%] tests/test_07_render/test_702_render_forms.py::TestCone2p::test_final_location_for_negative_z_axis PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_vertex_merger_indices PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_vertex_merger_vertices PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_vertex_merger_index_of PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_average_vertex_merger_indices PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_average_vertex_merger_vertices PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_average_vertex_merger_index_of PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_mesh_builder PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_vertex_merger PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_average_vertex_merger PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_has_none_planar_faces PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_scale_mesh PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_rotate_x PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_mesh_bounding_box PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_get_face_vertices PASSED [ 77%] tests/test_07_render/test_703_mesh_builder.py::test_index_error_for_getting_face_vertices PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_get_face_normal PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_empty_mesh_is_not_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_single_face_mesh_is_not_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cube_is_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_is_watertight_can_not_detect_vertex_orientation_errors PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_edge_balance_of_closed_surface_is_not_broken PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_edge_balance_of_wrong_oriented_faces_is_broken PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_edge_balance_of_doubled_faces_is_broken PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_total_edge_count_of_closed_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cube_of_separated_faces_is_not_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cylinder_is_watertight PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_surface_normals_pointing_outwards[cube] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_surface_normals_pointing_outwards[cylinder] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_surface_normals_pointing_outwards[cone] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_surface_normals_pointing_outwards[sphere] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cylinder_with_reversed_cap_normals PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cube_is_manifold PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_mesh_bounding_box PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_regular_open_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_regular_cube_has_closed_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_multiple_cubes_have_closed_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_cube_with_reversed_face_has_closed_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_non_manifold_cube_has_not_a_closed_surface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMeshDiagnose::test_get_face_normals PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_flipped_cube_normals_pointing_inwards PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_from_empty_polyface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_from_cube_polyface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_render_polyface PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_render_3dsolid PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_from_polymesh PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_from_polyface_type_error PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_from_polyface_182_1 PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_from_polyface_182_2 PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_mesh_subdivide PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_debug_coplanar_faces PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_merge_coplanar_faces PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_merge_disk PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_merge_coplanar_faces_in_two_passes PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_non_connected_paths[p0] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_non_connected_paths[p1] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_non_connected_paths[p2] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connected_squares_same_orientation PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connected_squares_different_orientation PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connected_rect_same_orientation PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_complex_shape PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connected_by_one_vertex PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connection_error[p20] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connection_error[p21] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_connection_error[p22] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_merge_multiple_paths PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeConnectedPaths::test_degenerated_path PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_simple_cases_without_action[v0] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_simple_cases_without_action[v1] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_simple_cases_without_action[v2] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_in_between_vertices[v0] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_in_between_vertices[v1] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_duplicated_vertices[v0] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_duplicated_vertices[v1] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_duplicated_vertices[v2] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_duplicated_vertices[v3] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_remove_in_between_vertices_with_direction_change PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestRemoveColinearVertices::test_subdivided_square PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeFullPatch::test_fill_pie[seg0] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeFullPatch::test_fill_pie[seg1] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestMergeFullPatch::test_fill_pie[seg2] PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::test_all_edges_cube PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_unique_edge_count PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_sum_of_edge_count PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_all_balances_are_0 PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_invalid_face_orientation_break_the_rules PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_coincident_faces_break_the_rules PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestGetEdgeStats::test_edge_balance_has_no_meaning_for_open_surfaces PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestSeparateMeshes::test_separate_a_single_cube_returns_a_single_cube PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestSeparateMeshes::test_separate_menger_sponge PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestSeparateMeshes::test_separate_two_cubes PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestSeparateMeshes::test_separate_two_intersecting_cubes PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestNormals::test_cube_has_six_normals PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestNormals::test_all_normals_are_normalized PASSED [ 78%] tests/test_07_render/test_703_mesh_builder.py::TestNormals::test_all_normals_are_different PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_concave_mesh_tessellation PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[none] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[x] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[y] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[z] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[xy] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[xz] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[yz] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_check_face_normals_after_transformation[xyz] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_cube_has_uniform_face_normals PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_multiple_disconnected_cubes PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_flipped_cube_faces_are_also_uniform PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_modified_cube_has_not_uniform_face_normals PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_torus_with_uniform_face_normals PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_find_all_backward_oriented_faces PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_detect_reference_face_orientation PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_regular_open_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_regular_cube_has_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_multiple_cubes_have_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_cube_with_reversed_face_has_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::TestFaceOrientationDetector::test_non_manifold_cube_has_not_a_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_unify_cube_normals_by_reference_face PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_force_unified_cube_normals_pointing_outwards[False] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_force_unified_cube_normals_pointing_outwards[True] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_unify_cube_normals_by_majority PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_unify_torus_normals_by_majority PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_volume6 PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_volume_of_closed_surface PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_volume_of_surface_with_clockwise_oriented_vertices PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_location_of_mesh_is_not_relevant_for_volume_calculation[loc0] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_location_of_mesh_is_not_relevant_for_volume_calculation[loc1] PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_volume_of_an_open_surface_is_null PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_volume_of_two_cubes_in_a_single_mesh_is_invalid PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_torus_volume PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_surface_area_of_a_cube PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_surface_area_of_a_torus PASSED [ 79%] tests/test_07_render/test_703_mesh_builder.py::test_centroid_of_a_cube PASSED [ 79%] tests/test_07_render/test_704_render_linear_dimension.py::test_linear_dimension_with_one_tolerance PASSED [ 79%] tests/test_07_render/test_704_render_linear_dimension.py::test_linear_dimension_with_two_tolerances PASSED [ 79%] tests/test_07_render/test_704_render_linear_dimension.py::test_linear_dimension_with_limits PASSED [ 79%] tests/test_07_render/test_704_render_linear_dimension.py::test_dimension_insert_attribute_translates_the_block_content PASSED [ 79%] tests/test_07_render/test_704_render_linear_dimension.py::test_override_all_colors[1] PASSED [ 79%] tests/test_07_render/test_704_render_linear_dimension.py::test_override_all_colors[7] PASSED [ 79%] tests/test_07_render/test_705_shape.py::test_init PASSED [ 79%] tests/test_07_render/test_705_shape.py::test_translate PASSED [ 79%] tests/test_07_render/test_705_shape.py::test_scale PASSED [ 79%] tests/test_07_render/test_705_shape.py::test_scale_uniform PASSED [ 79%] tests/test_07_render/test_705_shape.py::test_rotate PASSED [ 79%] tests/test_07_render/test_705_shape.py::test_rotate_center PASSED [ 79%] tests/test_07_render/test_706_random_path.py::test_random_2d_path PASSED [ 79%] tests/test_07_render/test_706_random_path.py::test_random_3d_path PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_trace_builder_init PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_add_station_2d PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_add_station_3d PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_add_spline_segment PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_square_face PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_closed_linear_path PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_two_straight_faces PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_two_angled_faces PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_linear_trace_polygon PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_virtual_entities_added_to_entity_database PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_issue_191 PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_nearly_horizontal_parallel_lines_in_linear_trace_builder PASSED [ 79%] tests/test_07_render/test_707_trace.py::test_nearly_vertical_parallel_lines_in_linear_trace_builder PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_init PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_if_path_is_empty PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_if_path_is_not_empty PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_init_start PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_if_path_with_only_a_start_point_is_still_empty PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_line_to PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_path_requires_a_command_to_represent_a_point PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_curve3_to PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_curve4_to PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_user_data_is_none_by_default PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_set_and_get_user_data PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_path_clones_share_user_data PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_reversed_path_preserves_user_data PASSED [ 79%] tests/test_07_render/test_708a_path.py::test_transformed_path_preserves_user_data PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_sub_paths_inherit_parent_user_data PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves3 PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves4 PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves3_with_gap PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves4_with_gap PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves3_reverse PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_curves4_reverse PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_has_no_sub_paths_by_default PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_first_move_to PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_multiple_first_move_to PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_move_to_creates_a_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_merge_multiple_move_to_commands_at_the_end PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_clone_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_cant_detect_orientation_of_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_cant_convert_multi_path_object_to_clockwise_orientation PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_cant_convert_multi_path_object_to_ccw_orientation PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_approximate_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_flatten_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_multi_path_object_to_wcs PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_transform_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_sub_paths_from_single_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestSubPath::test_sub_paths_from_multi_path_object PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_spline PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_spline PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_add_ellipse PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_raises_type_error_for_unsupported_objects PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_ellipse PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_arc PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_circle[1] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_circle[-1] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_circle_with_zero_radius PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_line PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_4_points[SOLID] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_4_points[TRACE] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_4_points[3DFACE] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_3_points[SOLID] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_3_points[TRACE] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_quadrilateral_with_3_points[3DFACE] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_lwpolyline_lines PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_make_path_from_lwpolyline_with_bulges PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_make_path_from_full_circle_lwpolyline PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_make_path_from_full_circle_lwpolyline_issue_424 PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_lwpolyline_s_shape PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_polyline_lines PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_polyline_with_bulges PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_3d_polyline PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestPathFromBoundaryWithElevationAndFlippedExtrusion::test_from_hatch_polyline_path PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_approximate_lines PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_approximate_curves PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_path_from_hatch_polyline_path_without_bulge PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_path_from_hatch_polyline_path_with_bulge PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_path_cloning PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_approximate_line_curves PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_transform PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_control_vertices PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_has_clockwise_orientation PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_empty_path PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_one_line PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_one_curve3 PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_one_curve4 PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_path_ctrl_vertices PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_path_approx PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_multi_path PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestReversePath::test_reversing_multi_path_with_a_move_to_cmd_at_the_end PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_cw_and_ccw_orientation PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_edge_path PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_from_edge_path_with_two_closed_loops PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_loops_with_gaps_should_be_closed PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e00-e10-e20-e30] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e01-e11-e21-e31] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e02-e12-e22-e32] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e03-e13-e23-e33] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e04-e14-e24-e34] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e05-e15-e25-e35] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e06-e16-e26-e36] PASSED [ 80%] tests/test_07_render/test_708a_path.py::test_edge_path_closed_loop[e07-e17-e27-e37] PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_line_edge PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_arc_edge PASSED [ 80%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_ellipse_edge PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_spline_edge PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestPathFromEdgePathWithElevationAndFlippedExtrusion::test_from_complex_edge_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_extend_path_by_another_none_empty_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_extend_path_by_another_single_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_extend_path_by_another_multi_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_append_empty_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_append_path_without_a_gap PASSED [ 81%] tests/test_07_render/test_708a_path.py::test_append_path_with_a_gap PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestCloseSubPath::test_close_last_sub_path PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestCloseSubPath::test_does_nothing_if_last_sub_path_is_closed PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestCloseSubPath::test_does_nothing_if_last_sub_path_is_empty PASSED [ 81%] tests/test_07_render/test_708a_path.py::TestCloseSubPath::test_close_single_path PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_empty_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_start_point_only_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_transformation_is_executed PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_one_path_line_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_one_path_curve3_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_one_path_curve4_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_one_path_multiple_command PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_two_paths_one_command PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_two_paths_multiple_commands PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_multi_path_objects PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestTransformPaths::test_to_ocs PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_empty_path PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_line_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_curve3_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_curve4_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPreciseBoundingBox::test_move_to PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_empty_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_one_path PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_two_path PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_not_precise_box PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestBoundingBox::test_precise_box PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_empty_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_uniform_stretch_paths_limited_by_z PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_uniform_stretch_paths_limited_by_y PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_uniform_stretch_paths_limited_by_x PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_uniform_shrink_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_project_into_xy PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_project_into_xz PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_project_into_yz PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxUniformScaling::test_invalid_target_size PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_non_uniform_stretch_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_non_uniform_shrink_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_project_into_xy PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_project_into_xz PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestFitPathsIntoBoxNonUniformScaling::test_project_into_yz PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_empty_path PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_only_vertices PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_one_quadratic_bezier PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_one_cubic_bezier PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_adjacent_cubic_beziers_with_G1_continuity PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_adjacent_cubic_beziers_without_G1_continuity PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestPathToBsplineAndVertices::test_multiple_segments PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_polylines3d PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_polylines3d PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_lines PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_lines PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_lwpolyline PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_path_to_lwpolyline PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_lwpolylines PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_lwpolylines_with_wcs_elevation PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_lwpolylines_with_ocs PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_multi_path_to_lwpolylines PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_polylines2d PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_polylines2d PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_polylines2d_with_wcs_elevation PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_polylines2d_with_ocs PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_empty_to_hatches PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_poly_path_hatches PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_poly_path_hatches_with_wcs_elevation PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_poly_path_hatches_with_ocs PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_edge_path_hatches PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_splines_and_polylines PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::TestToEntityConverter::test_to_mpolygons_returns_expected_dxf_type PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::test_to_multi_path PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::test_to_multi_path_ignores_empty_paths PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::test_single_paths_from_a_single_path_object PASSED [ 81%] tests/test_07_render/test_708b_path_tools.py::test_single_paths_from_a_multi_path_object PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_issue_224_end_points PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_issue_494_make_path_from_spline_defined_by_fit_points_and_tangents PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_create_a_curve3_command PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_create_a_curve4_command PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_line_to_curve_creates_a_linear_segment[lines_to_curve3] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_line_to_curve_creates_a_linear_segment[lines_to_curve4] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_remove_line_segments_of_zero_length_at_the_start PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_remove_line_segments_of_zero_length_between_commands PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_remove_line_segments_of_zero_length_at_the_end PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_does_not_remove_a_line_representing_a_single_point PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_for_very_short_line_segments[0-1e-11] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_for_very_short_line_segments[10-1e-08] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_which_length_is_too_short_to_create_a_curve[0-1e-12] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestAllLinesToCurveConverter::test_which_length_is_too_short_to_create_a_curve[10-1e-09] PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_empty_path PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_less_than_four_corners PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_open_square PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_closed_square PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_rectangle PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_parallelogram PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::TestIsRectangular::test_non_aligned_square PASSED [ 82%] tests/test_07_render/test_708b_path_tools.py::test_polyline_with_bulge_value_greater_one PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_no_paths PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_line_to PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_curve3_to PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_curve4_to PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_two_single_paths PASSED [ 82%] tests/test_07_render/test_708d_qpainter_path_tools.py::TestNumpyPath2dToQPainterPath::test_one_multi_paths PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_unit_circle PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_scale_circle PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_move_circle PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_wedge PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_ellipse PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_rotated_ellipse PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[0-0] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[1-0] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[0-1] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[-1-1] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_invalid_rect_dimensions[1--1] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_rectangle PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_transformed_rectangle PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_ngon PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_star PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_gear PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_helix_positive_pitch_goes_up[True] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_helix_positive_pitch_goes_up[False] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_helix_negative_pitch_goes_down[True] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_helix_negative_pitch_goes_down[False] PASSED [ 82%] tests/test_07_render/test_708e_path_shapes.py::test_triangulate_doughnut PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[1 path] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[2 separated paths] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[1 nested sub-path] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[2 nested sub-path] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_fast_bbox_detection[2 separated sub-paths] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[1 polygon] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[2 polygons] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[1 polygon 1 nested sub-polygon] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[1 polygon 2 nested sub-polygons] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_winding_deconstruction[1 polygon 2 separated sub-polygons] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[2 polygons] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon 1 nested sub-polygon] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon 2 nested sub-polygons] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon 2 separated sub-polygons] PASSED [ 82%] tests/test_07_render/test_708f_path_nesting.py::test_flatten_polygons[1 polygon 2 separated nested sub-polygons] PASSED [ 82%] tests/test_07_render/test_709_linetype_renderer.py::test_line_type_solid PASSED [ 82%] tests/test_07_render/test_709_linetype_renderer.py::test_line_start_is_end PASSED [ 82%] tests/test_07_render/test_709_linetype_renderer.py::test_dashed_line_2 PASSED [ 82%] tests/test_07_render/test_709_linetype_renderer.py::test_dashed_line_4 PASSED [ 82%] tests/test_07_render/test_709_linetype_renderer.py::test_dash_dot_2x_render_issue PASSED [ 82%] tests/test_07_render/test_711_points.py::test_dimensionless_point PASSED [ 82%] tests/test_07_render/test_711_points.py::test_none_point PASSED [ 82%] tests/test_07_render/test_711_points.py::test_cross_point PASSED [ 82%] tests/test_07_render/test_711_points.py::test_x_cross_point PASSED [ 82%] tests/test_07_render/test_711_points.py::test_tick_point PASSED [ 82%] tests/test_07_render/test_711_points.py::test_square_point PASSED [ 82%] tests/test_07_render/test_711_points.py::test_circle_point PASSED [ 82%] tests/test_07_render/test_711_points.py::test_rotated_cross_point PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[0.5-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[1.5-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[2.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-0.5-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-1.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p1_is_closer_to_base[-100.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[2.5-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[3.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[4.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-(+x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-(+y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-(-x)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-(-y)] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::TestDetectCloserDefpoints::test_p2_is_closer_to_base[100.0-angled] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_dimension_line_divided_by_measurement_text[60-120] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_dimension_line_divided_by_measurement_text[300-240] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_dimension_line_divided_by_measurement_text[240-300] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_dimension_line_divided_by_measurement_text[300-30] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_text_and_arrows_fit_between_extension_lines PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_has_outside_text_and_arrows[3] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_has_outside_text_and_arrows[6] PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_has_outside_text_and_arrows_but_not_a_wide_text PASSED [ 83%] tests/test_07_render/test_712_render_curved_dimension.py::test_fixed_length_extension_lines PASSED [ 83%] tests/test_07_render/test_713_mleader_builder.py::TestMultiLeaderMTextBuilder::test_set_content PASSED [ 83%] tests/test_07_render/test_713_mleader_builder.py::TestMultiLeaderBlockBuilder::test_set_content PASSED [ 83%] tests/test_07_render/test_714_mleader_render_engine.py::TestRenderEngine::test_add_mtext_content PASSED [ 83%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_positive_line_distance PASSED [ 83%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_negative_line_distance PASSED [ 83%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_hatch_line_direction_error PASSED [ 83%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_dense_hatching_error PASSED [ 83%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_no_offset_error PASSED [ 83%] tests/test_07_render/test_715_hatching.py::TestHatchBaseLine::test_very_small_offset_error PASSED [ 83%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_collinear PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_start PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_end PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_regular[-2] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_regular[0] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_intersect_line_regular[6] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_cubic_bezier_curve PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestIntersectHatchLine::test_missing_line_in_gear_example PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[10 l 10 l 10-10] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[2 l 2 r 2 r 2 l 6 l 10 l 2 l 2 r 2 r 2 l 6-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[2 l 2 r 2 l 2 r 2 r 4 l 4 l 10 l 2 l 2 r 2 l 2 r 2 r 4 l 4-18] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[2 r 2 l 2 r 2 l 2 l 4 r 4 l 10 l 2 r 2 l 2 r 2 l 2 l 4 r 4-18] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[2 l 2 r 2 r 2 l 2 l 4 r 2 r 4 l 2 l 10 l 2 r 2 l 2 l 2 r 2 r 4 l 2 l 4 r 2-22] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[3 @2,2 @2,-2 3 l 10 l @-2,-2 @-2,2 2 @-2,-2 @-2,2-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_polygons[3 @1,1 @1,1 @1,-1 @1,-1 3 l 10 l @-1,-1 @-1,-1 @-1,1 @-1,1 2 @-1,-1 @-1,-1 @-1,1 @-1,1-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[10 l 10 l 10-10] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[2 l 2 r 2 r 2 l 6 l 10 l 2 l 2 r 2 r 2 l 6-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[2 l 2 r 2 l 2 r 2 r 4 l 4 l 10 l 2 l 2 r 2 l 2 r 2 r 4 l 4-18] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[2 r 2 l 2 r 2 l 2 l 4 r 4 l 10 l 2 r 2 l 2 r 2 l 2 l 4 r 4-18] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[2 l 2 r 2 r 2 l 2 l 4 r 2 r 4 l 2 l 10 l 2 r 2 l 2 l 2 r 2 r 4 l 2 l 4 r 2-22] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[3 @2,2 @2,-2 3 l 10 l @-2,-2 @-2,2 2 @-2,-2 @-2,2-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_paths[3 @1,1 @1,1 @1,-1 @1,-1 3 l 10 l @-1,-1 @-1,-1 @-1,1 @-1,1 2 @-1,-1 @-1,-1 @-1,1 @-1,1-14] PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_curved_path PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_hatch_path_with_hole PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_vertical_hatching_with_hole PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_pattern_length PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_render_full_pattern PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_render_start_to_offset PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_render_offset_to_end PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_render_offset_to_offset PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_hatch_line_full_pattern PASSED [ 84%] tests/test_07_render/test_715_hatching.py::TestLinePatternRendering::test_hatch_line_with_start_and_end_offset PASSED [ 84%] tests/test_07_render/test_715_hatching.py::test_explode_earth1_pattern PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_arrow_blocks PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_arc PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_mtext PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_extension_line_1 PASSED [ 84%] tests/test_07_render/test_715_issue_747_explode_3d_dim.py::test_exploded_extension_line_2 PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_horiz_top PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_horiz_bottom PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_horiz_middle PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_45deg_top PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_45deg_bottom PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_one_liner PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_get_attribute_by_subscript PASSED [ 84%] tests/test_08_addons/test_800_mtext_surrogate.py::test_set_attribute_by_subscript PASSED [ 84%] tests/test_08_addons/test_801_r12spline.py::test_r12_quadratic_spline PASSED [ 84%] tests/test_08_addons/test_801_r12spline.py::test_r12_cubic_spline PASSED [ 84%] tests/test_08_addons/test_801_r12spline.py::test_r12_cubic_spline_closed PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_init PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_setter_methods PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_cell_index PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_default_text_cell PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_text_cell PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_block_cell PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_frame PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_cell_style PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_border_style PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_visibility_map PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_rendering PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_dxf_creation_span PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_span_beyond_table_borders PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_grid_coords PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_grid_coords_span PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_draw_cell_background PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_set_border_status PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::test_set_border_style PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::TestStyle::test_init_default_style PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::TestStyle::test_init_custom_style PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::TestStyle::test_get_attribute_index_operator PASSED [ 84%] tests/test_08_addons/test_802_table_painter.py::TestStyle::test_invalid_attribute_name_raises_key_error PASSED [ 84%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_mapping PASSED [ 84%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_int_list PASSED [ 84%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_float_list PASSED [ 84%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_vector_list PASSED [ 84%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_api_call PASSED [ 84%] tests/test_08_addons/test_803_entities_to_code.py::test_fmt_dxf_tags PASSED [ 84%] tests/test_08_addons/test_803_entities_to_code.py::test_line_to_code PASSED [ 84%] tests/test_08_addons/test_803_entities_to_code.py::test_point_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_circle_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_arc_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_text_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_solid_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_shape_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_ellipse_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_insert_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_attdef_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_mtext_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_lwpolyline_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_polyline_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_spline_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_leader_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_mesh_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_layer_entry PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_ltype_entry PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_block_to_code PASSED [ 85%] tests/test_08_addons/test_803_entities_to_code.py::test_hatch_to_code PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_simple_modelspace[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_simple_modelspace[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_without_conflict[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_without_conflict[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_with_conflict_discard[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_with_conflict_discard[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_with_conflict_replace[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_tables_with_conflict_replace[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_without_conflict[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_without_conflict[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_discard[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_discard[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename_resolve_block_ref[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename_resolve_block_ref[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename_resolve_block_ref_inside_block_def[R12] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_block_with_conflict_rename_resolve_block_ref_inside_block_def[R2000] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_entities_using_complex_linetypes[R12-BORDER--ltypeshp.shx] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_entities_using_complex_linetypes[R12-GAS-Standard-txt] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_entities_using_complex_linetypes[R2000-BORDER--ltypeshp.shx] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_entities_using_complex_linetypes[R2000-GAS-Standard-txt] PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_polyline PASSED [ 85%] tests/test_08_addons/test_804_importer.py::test_import_insert_with_attribs PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_cube_intersect PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_cube_union PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_cube_subtract PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_sphere_cylinder_intersect PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_sphere_cylinder_union PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_sphere_cylinder_subtract PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_bolt PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_example_simple PASSED [ 85%] tests/test_08_addons/test_805_pycsg.py::test_example_infiniteRecursion PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_init PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_get_set_color PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_object_color PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_dithering PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_grayscale PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_dxf_color_index PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_set_lineweight PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestPlotStyle::test_write PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_set_style PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_style PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_color PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_lineweight PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_lineweight_none PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_lineweight_index PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_get_table_lineweight PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_set_table_lineweight PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_set_table_lineweight_index_error PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_write_header PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_write_aci_table PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestColorDependentPlotStyles::test_write_lineweights PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_set_style PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_style PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_color PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_lineweight PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_lineweight_none PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_lineweight_index PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_get_table_lineweight PASSED [ 85%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_set_table_lineweight PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_set_table_lineweight_index_error PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_write_header PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestNamedPlotStyles::test_write_lineweights PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBImport::test_ctb_attribs PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBImport::test_lineweight_table PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBImport::test_style_1 PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBImport::test_style_3 PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestCTBExport::test_create_ctb PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBImport::test_stb_attribs PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBImport::test_normal PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBImport::test_style_1 PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBImport::test_mozman PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestSTBExport::test_create_ctb PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestFunctions::test_color_name PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::TestFunctions::test_get_bool PASSED [ 86%] tests/test_08_addons/test_806_acadctb.py::test_parser_ignores_unknown_appendix PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_load_classes PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_header_commands PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_load_all PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_crc8_is_runnable PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_crc32_is_runnable PASSED [ 86%] tests/test_08_addons/test_807_dwg_loader_basics.py::test_parse_hex_dump PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_load_default_ctb PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_set_color_dependent_plot_style_as_object_instance PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_new_ctb PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_entity_visibility PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_attrib_visibility PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_entity_color PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_existing_true_color_overrides_any_aci_color PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_entity_linetype PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_entity_lineweight PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_block_entities PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::TestResolveLayerACIColor7::test_dark_background PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::TestResolveLayerACIColor7::test_light_background PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::TestResolveLayerACIColor7::test_switch_layout_colors PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::TestResolveLayerACIColor7::test_color_from_true_color_layer PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#012345-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#456789-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#ABCDEF-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#abcdef-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[#ghijkl-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[000000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color[ABCDEF-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_invalid_color_value_type[0] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_invalid_color_value_type[1.0] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_invalid_color_value_type[color2] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_transparent_color[#00000000-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_transparent_color[#000000FF-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_transparent_color[#000000ff-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_transparent_color[#000000gh-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#0-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#00-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#0000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#00000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#000000-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#0000000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#00000000-True] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[#000000000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[ #0000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_is_valid_color_value_length[ #000000-False] PASSED [ 86%] tests/test_08_addons/test_810_drawing_properties.py::test_resolve_transparency_from_layer PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_basic_frontend_init PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_backend_default_draw_path PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_draw_layout PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_draw_entities PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_filter_draw_entities PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_point_and_layers PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_line PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_lwpolyline_basic PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_lwpolyline_path PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_banded_lwpolyline PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_polyline_2d PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_banded_polyline_2d PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_polyline_3d_basic PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_polyline_3d_path PASSED [ 86%] tests/test_08_addons/test_811a_drawing_frontend.py::test_2d_arc_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_circle_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_circle_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_arc_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_arc_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_ellipse_basic PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_3d_ellipse_path PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_2d_text PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_ignore_3d_text PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_mtext PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_hatch PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_basic_spline PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_mesh PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_polyface PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_property_override_method[use_override_method] PASSED [ 87%] tests/test_08_addons/test_811a_drawing_frontend.py::test_property_override_method[use_override_function] PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_replay_layout PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_points PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_line PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_lwpolyline_as_path PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_replay_properties PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_override_properties_at_replay PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_banded_lwpolyline_as_filled_polygon PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_2d_text_as_filled_paths PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::test_bounding_box PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_null_sized_crop_box_removes_everything PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_remove_entities_outside PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_entities_inside_crop_box_do_not_change PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_crop_filled_paths PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_does_not_crop_holes_inside_crop_box PASSED [ 87%] tests/test_08_addons/test_811b_drawing_recorder.py::TestCroppingRecords::test_does_remove_holes_outside_crop_box PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_active_viewport PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_only_the_first_active_viewport PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_missing_active_viewport PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_BricsCAD_off_viewports PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_ignore_off_screen_viewports PASSED [ 87%] tests/test_08_addons/test_811c_viewport_processing.py::test_draw_viewports_in_order_of_status PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_dxf_type PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_get_dxfattribs PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_setting_dxfattribs_does_no_alter_wrapped_entity PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_copy_raises_cpy_not_supported_exception PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_supports_virtual_entities_protocol PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_supports_virtual_entities_method_of_wrapped_entity PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::TestDXFGraphicProxy::test_supports_virtual_entities_protocol_of_wrapped_entity PASSED [ 87%] tests/test_08_addons/test_812_drawing_graphic_proxy.py::test_support_for_proxy_graphic_stored_in_acdb_entity PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_mapping_vertex_count_error[points0] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_mapping_vertex_count_error[points1] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_mapping_vertex_count_error[points2] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_map_dxf_point PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_map_dxf_line PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_map_polyline PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_map_dxf_polygon[HATCH] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_map_dxf_polygon[MPOLYGON] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_map_circle PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_map_arc PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_arc_geo_proxy_wcs_to_crs PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity0] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity1] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity2] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity3] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity4] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity5] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_types[entity6] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_type_error PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity0] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity1] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity2] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity3] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parsing_value_error[entity4] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_polygon_without_holes PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_polygon_1_hole PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_polygon_2_holes PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_geometry_collection PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_feature PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_feature_with_geometry_collection PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_parse_feature_collection PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_iter_feature_with_geometry_collection PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity0] PASSED [ 87%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity2] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity3] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity5] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity6] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity7] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity8] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity9] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geo_interface_builder[entity10] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_point_to_dxf_entity PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_line_string_to_dxf_entity PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_without_holes_to_dxf_polygon[HATCH-1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_without_holes_to_dxf_polygon[MPOLYGON-4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_with_holes_to_dxf_polygon[HATCH-1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_with_holes_to_dxf_polygon[MPOLYGON-4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_mpolygon_supports_fill_and_border_color PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_geometry_collection_to_dxf_entities PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_feature_to_dxf_entities PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_feature_collection_to_dxf_entities PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_dxf_entities_post_process_properties PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_dxf_entities_from_geometry_collection_post_process_properties PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg0-coords0] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg1-coords1] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg2-coords2] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg3-coords3] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_common_WGS84_projection[deg4-coords4] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity0-Point] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity1-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity2-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity3-MultiPoint] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity4-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity5-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_single_entity[entity6-None] PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_geometrie_collection PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_filter_function_feature_collection PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_polygon_from_hatch_hole_in_hole PASSED [ 88%] tests/test_08_addons/test_813_geo_interface.py::test_three_polygons_from_one_hatch PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[1-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[2-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[.-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[0-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[a-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[!-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[@-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[8-3] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[\xfc-3] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[&-3] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[\xe4-4] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[\xf6-4] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_make_paths_from_str[%-5] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_chinese_char_paths_from_str[\u4e2d-3] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_chinese_char_paths_from_str[\u56fd-4] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_chinese_char_paths_from_str[\u6587-3] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_chinese_char_paths_from_str[\u5b57-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[1-0] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[2-0] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[.-0] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[0-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[a-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_one_contour_with_holes[8-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_two_contours_without_holes[:] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_two_contours_without_holes[!] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_two_contours_without_holes[;] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_two_contours_without_holes[=] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_three_contours_and_ignore_holes[\xdc] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_three_contours_and_ignore_holes[\xf6] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_three_contours_and_ignore_holes[\xe4] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_chinese_chars_and_ignore_holes[\u4e2d-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_chinese_chars_and_ignore_holes[\u56fd-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_chinese_chars_and_ignore_holes[\u6587-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::test_group_chinese_chars_and_ignore_holes[\u5b57-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[0] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[0.05] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[100] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[-1] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[-2] PASSED [ 88%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_text_path_height_for_exact_drawing_units[-100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_positive_size[0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_positive_size[1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_positive_size[2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_positive_size[100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_negative_size[-0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_negative_size[-1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_negative_size[-2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_path_coordinates_for_negative_size[-100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_length_for_fit_alignment[0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_length_for_fit_alignment[1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_length_for_fit_alignment[2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_length_for_fit_alignment[100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_scaled_height_and_length_for_aligned_text[0.05] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_scaled_height_and_length_for_aligned_text[1] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_scaled_height_and_length_for_aligned_text[2] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_scaled_height_and_length_for_aligned_text[100] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_paths_from_empty_string PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_make_multi_path_object PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathFromString::test_make_empty_multi_path_object PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakeHatchesFromString::test_hatches_from_empty_string PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakeHatchesFromString::test_make_exterior_only_hatches PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakeHatchesFromString::test_make_hatches_with_holes PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakeHatchesFromString::test_total_length_for_fit_alignment PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::test_check_entity_type PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_returns_correct_types[make_paths_from_entity-Path] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_returns_correct_types[make_hatches_from_entity-Hatch] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_height[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_height[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_text_height[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_left[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_left[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_left[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_center[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_center[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_center[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_right[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_right[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_right[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_baseline[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_baseline[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_baseline[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_bottom[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_bottom[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_bottom[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_middle[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_middle[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_middle[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_top[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_top[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_top[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_fit[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_fit[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_fit[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_aligned[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_aligned[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_alignment_aligned[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_rotation_90[get_path_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_rotation_90[get_paths_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestMakePathsFromEntity::test_rotation_90[get_hatches_bbox] PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestVirtualEntities::test_virtual_entities_as_hatches PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestVirtualEntities::test_virtual_entities_as_splines_and_polylines PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestVirtualEntities::test_virtual_entities_as_lwpolylines PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestVirtualEntities::test_virtual_entities_to_all_types_at_once PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestExplode::test_source_entity_is_destroyed PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestExplode::test_explode_entity_into_layout PASSED [ 89%] tests/test_08_addons/test_814_text2path.py::TestExplode::test_explode_entity_into_the_void PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFTagsModel::test_fixed_column_count PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFTagsModel::test_row_count PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFTagsModel::test_render_display_role PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::test_setup_dxf_structure_model PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFDocument::test_get_entity_returns_entity_tags PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFDocument::test_get_entity_by_invalid_handle_returns_none PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFDocument::test_get_start_line_number_for_entity PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestDXFDocument::test_get_entity_by_line_number PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_int PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_invalid_int_to_str PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_float PASSED [ 89%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_invalid_float_to_str PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_2d_point PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_two_2d_points PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_nan_coords_2d PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_3d_point PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_nan_coords_3d PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_single_group_code_10 PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_two_group_code_10 PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestTagCompiler::test_compile_swapped_coords PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_contains_all_entities PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_entity_by_handle PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_entity_by_dummy_handle PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_handle_from_casted_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_dummy_handle_from_casted_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_next_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_next_entity_of_last_entity_is_last_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_prev_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_prev_entity_of_first_entity_is_first_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_max_line_number PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_start_line_number PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_get_start_line_number_for_dummy_handle PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_entity_at_line PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityIndex::test_entity_at_line_for_dummy_handle PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::test_entity_index_adds_missing_endsec_tag PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_setup_history PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_empty_history_returns_none PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_append_one_entity PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_append_two_entities PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_go_back_in_history PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_go_back_and_forward_in_history PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestEntityHistory::test_append_should_add_time_travel_history PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_valid_setup_and_default_settings PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_empty_search_index PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_reset_cursor_forward PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_forward PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_forward_beyond_entity_border PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_forward_to_the_end_of_index PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_reset_cursor_backward PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_backward PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_backward_beyond_entity_border PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_move_cursor_backward_to_the_end_of_index PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_failing_search PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_find_entity_type PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_find_forward_entity_type PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_find_content PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_find_forward_content PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_failing_find_forward_returns_none PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_not_initiated_find_forward_returns_none PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_case_insensitive_search PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_case_sensitive_search PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_ignore_number_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_search_in_number_tags PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_failing_find_forward_stops_at_the_end PASSED [ 90%] tests/test_08_addons/test_815_dxf_browser.py::TestSearchIndex::test_failing_find_backwards_stops_at_the_beginning PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_single_item PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_multiple_items[3-1-1] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_multiple_items[1-3-1] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_multiple_items[1-1-3] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_single_bin_different_sized_items PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_empty_packer PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_empty_box PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_create_zero_sized_box PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_forced_zero_sized_box PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_small_bins[box0] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_small_bins[box1] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_small_bins[box2] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_medium_box PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_medium_box2 PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_large_box PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleSmallerFirst::test_large_box2 PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_small_bins[box0] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_small_bins[box1] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_small_bins[box2] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_medium_box PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_medium_box2 PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_large_box PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestExampleBiggerFirst::test_large_box2 PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_copy_item[item0] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::test_copy_item[item1] PASSED [ 90%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_whd_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_hwd_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_hdw_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_dhw_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_dwh_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::TestItemTransformation::test_wdh_rotation PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_copy_box PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_copy_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_copy_packed_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_copy_packer_with_non_empty_bins PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_append_bins_to_packed_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_append_non_empty_bins PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_cannot_append_items_to_packed_packer PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_random_shuffle_interface PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_random_shuffle_raise_exception_for_invalid_attempts PASSED [ 91%] tests/test_08_addons/test_816_bin_packing.py::test_pack_item_subset PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_init_value PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_init_value_is_valid[-0.1] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_init_value_is_valid[1.1] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_flip_mutate_at PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_iter PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_reset_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_reset_data_checks_validity[values0] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_reset_data_checks_validity[values1] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_new_random_dna PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestFloatDNAZeroOne::test_subscription_setter PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestBitDNA::test_init_value PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestBitDNA::test_reset_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestBitDNA::test_new_random_dna PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestBitDNA::test_subscription_setter PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_init_value PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_init_values PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_init_invalid_values PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_reset_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_new_random_dna PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_subscription_setter PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_preserves_order PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_random_recombine_dna_ocx1[0-3] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_random_recombine_dna_ocx1[3-7] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_random_recombine_dna_ocx1[7-9] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_random_recombine_dna_ocx1[0-9] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_without_change[0-0] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_without_change[8-8] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_without_change[9-9] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestUniqueIntDNA::test_recombine_dna_ocx1_without_change[10-11] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_init_value PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_init_invalid_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_flip_mutate_at PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_reset_data PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestIntegerDNA::test_new_random_dna PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestHallOfFame::test_build PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestHallOfFame::test_get_n_best PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestHallOfFame::test_get_n_best_negative_values PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestHallOfFame::test_purge PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::test_reverse_mutate PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::test_scramble_mutate PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::test_tournament_selection PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestRouletteSelection::test_weights[1-10000] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestRouletteSelection::test_weights[-10000--1] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestRankBasedSelection::test_weights[1-10000] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestRankBasedSelection::test_weights[-10000--1] PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::test_two_point_crossover PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestThresholdFilter::test_positive_values PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestThresholdFilter::test_negative_values PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestGeneticOptimizer::test_init PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestGeneticOptimizer::test_init_invalid_max_runs PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestGeneticOptimizer::test_can_only_run_once PASSED [ 91%] tests/test_08_addons/test_817_genetic_algorithm.py::TestGeneticOptimizer::test_execution PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_empty_file_returns_empty_mesh PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_load_a_single_face PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_parsing_error_too_few_axis PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_parsing_error_invalid_coordinate_format PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestStlLoader::test_parsing_error_invalid_floats PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_valid_data[OFF\n# just a comment\n8 6 0\n-0.500000 -0.500000 0.500000 # ignor this\n0.500000 -0.500000 0.500000\n-0.500000 0.500000 0.500000\n0.500000 0.500000 0.500000\n-0.500000 0.500000 -0.500000\n0.500000 0.500000 -0.500000\n-0.500000 -0.500000 -0.500000\n0.500000 -0.500000 -0.500000\n4 0 1 3 2 # ignore this\n4 2 3 5 4\n4 4 5 7 6\n4 6 7 1 0\n4 1 7 5 3\n4 6 0 2 4\n] PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_valid_data[OFF 8 6 0 # ignore this\n-0.500000 -0.500000 0.500000 # ignore this\n0.500000 -0.500000 0.500000\n-0.500000 0.500000 0.500000\n0.500000 0.500000 0.500000\n-0.500000 0.500000 -0.500000\n0.500000 0.500000 -0.500000\n-0.500000 -0.500000 -0.500000\n0.500000 -0.500000 -0.500000\n4 0 1 3 2 # ignore this\n4 2 3 5 4\n4 4 5 7 6\n4 6 7 1 0\n4 1 7 5 3\n4 6 0 2 4\n\n\n# ignore this\n] PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_minimal_data PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[] PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF] PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 8 6 0] PASSED [ 91%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 8 6 0\n1 2 3] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 3 1 0\n0 0 0\n 0 0 0\n0 0 Z\n3 0 1 2\n ] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 3 1 0\n0 0 0\n 0 0 0\n0 0\n3 0 1 2\n ] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 3 1 0\n0 0 0\n 0 0 0\n0 0 0\n3 0 1\n ] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFLoader::test_parsing_error_invalid_data_raises_parsing_error[OFF 3 1 0\n0 0 0\n 0 0 0\n0 0 0\n3 0 1 z\n ] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_empty_file_returns_empty_mesh PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_load_a_single_face[v 0 0 0\nv 1 0 0\nv 1 1 0\nf 1 2 3\n] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_load_a_single_face[g\nv 0 0 0\nv 1 0 0\nv 1 1 0\ng\nf 1 2 3\n] PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_parsing_error_too_few_axis PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_parsing_error_invalid_coordinate_format PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJLoader::test_parsing_error_invalid_floats PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestSTLDumpString::test_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestSTLDumpString::test_dump_and_load_cube_ascii PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestSTLDumpString::test_dump_and_load_cube_binary PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFDumpString::test_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOFFDumpString::test_dump_and_load_cube PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJDumpString::test_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOBJDumpString::test_dump_and_load_cube PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOpenSCADDumpString::test_single_face PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestOpenSCADDumpString::test_inverted_cube PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::test_ifc_guid_compression PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_add_record_returns_record_number PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_add_record_check_expected_record_number PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_update_one_tag PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_update_multiple_tags PASSED [ 92%] tests/test_08_addons/test_818_meshex.py::TestRecords::test_dumps PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_euler_characteristic_for_menger_sponge PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_edge_balance_for_menger_sponge PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_menger_sponge_is_non_manifold PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_menger_sponge_face_count PASSED [ 92%] tests/test_08_addons/test_819_menger_sponge.py::test_menger_sponge_edge_count PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::test_matrix44_to_multmatrix_str PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_build_boolean_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_build_all_operations[Operation.union-union()] PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_build_all_operations[Operation.difference-difference()] PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_build_all_operations[Operation.intersection-intersection()] PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_multmatrix_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_translation_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_rotation_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_rotation_about_axis_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_scale_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_resize_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_auto_resize_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_multi_auto_resize_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::TestScriptBuilder::test_add_mirror_operation PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::test_str_polygon PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::test_str_polygon_is_automatically_closed PASSED [ 92%] tests/test_08_addons/test_820_openscad.py::test_str_polygon_with_holes PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::test_parse_hpgl_commands PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::test_skip_all_pcl5_commands PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_pen_absolute[PD;PA2000,8000;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_pen_absolute[PU;PA2000,8000;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_select_pen PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_pen_width PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_current_pen_width PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_pen_color PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_fill_type_hatching PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_set_fill_type_shading PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_pen_relative PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_polyline PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_cubic_bezier_curve_pen_down PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_cubic_bezier_curve_pen_up PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_circle PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_abs_arc PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_rel_arc PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_abs_arc_three_points_clockwise PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_abs_arc_three_points_counter_clockwise PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_rel_arc_three_points_clockwise PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestRenderEngine::test_polyline_encoded PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%-1BBP;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%0BBP;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%1BBP;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%2BBP;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_escape[\x1b%3BBP;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[IN;PU;PD;] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[IN;PU;PD] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[INPUPD] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[IN PU PD] PASSED [ 92%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_short_commands[ INPU PD] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_pe_command[PETEST-0] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_pe_command[PUPETEST;PD-1] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_pe_command[PUPUPETEST;PD-2] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_001 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_002 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_filter_non_printable_chars_from_pe_command PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_no_hpgl2_data PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_terminator[LB MY label \x03PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_terminator[LBMY label \x03PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_custom_terminator[DT\x04LB Tue Dec 18 16:20:05 2001 \x04PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_custom_terminator[DT\x04,0LB Tue Dec 18 16:20:05 2001 \x04PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_label_with_custom_terminator[DT\x04,1;LB Tue Dec 18 16:20:05 2001 \x04PA381,0SI0.125,0.25DI0,1;] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_reset_custom_terminator[DT\x04LB MY label\x04DTLB My other label \x03] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestTokenizer::test_reset_custom_terminator[DT\x04LB MY label\x04DT;LB My other label \x03] PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageCoordinates::test_user_to_page_coordinates PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageCoordinates::test_user_vector_to_page_vector PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageAnisotropicScaling::test_isotropic_scaling PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageAnisotropicScaling::test_anisotropic_scaling PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageAnisotropicScaling::test_reverse_anisotropic_scaling PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_bottom_window_50 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_bottom_window_0 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_bottom_window_100 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_left_window_50 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_left_window_0 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPageIsotropicScaling::test_isotropic_left_window_100 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::test_arc_angles PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::test_sweeping_angle PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPlacementMatrix::test_shift_to_origin_Q1 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPlacementMatrix::test_shift_to_origin_Q3 PASSED [ 93%] tests/test_08_addons/test_821_hpgl2.py::TestPlacementMatrix::test_rotate PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineEncoding::test_8_bit PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineEncoding::test_7_bit PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineDecoding::test_8_bit PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineDecoding::test_7_bit PASSED [ 93%] tests/test_08_addons/test_821_hpgl2_polygon_encoded.py::TestPolylineDecoding::test_8_bit_float PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestPage::test_ISO_A0 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestPage::test_ANSI_A PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestPage::test_screen_size_in_pixels PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_scale_1 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_scale_50 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_includes_margins_sc1 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_includes_margins_sc50 PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_limited_page_height PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestDetectFinalPage::test_page_size_limited_page_width PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_stretch_width PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_stretch_height PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_shrink_width PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_shrink_height PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_stretch_width_margins PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_stretch_height_margins PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_shrink_width_margins PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestFitToPage::test_shrink_height_margins PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestSettings::test_rotate_content PASSED [ 93%] tests/test_08_addons/test_823_drawing_layout.py::TestSettings::test_invalid_rotate_content_angle_raises_exception PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStyles::test_create_stroke_style PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStyles::test_style_string PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStrokeWidthMapping::test_min_stroke_width PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStrokeWidthMapping::test_max_stroke_width PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestStrokeWidthMapping::test_interpolation PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestSVGBackend::test_get_xml_root_element PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::TestSVGBackend::test_get_string PASSED [ 93%] tests/test_08_addons/test_824_svg_drawing_backend.py::test_empty_page PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::test_empty_page PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_enter_hpgl2_mode_prefix PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_init_commands_exist PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_pen_color_setup_exist PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_set_pen_command_exist PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_pen_width_command_exist PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_lines_are_7_bit_int_base_32_polyline_encoded PASSED [ 93%] tests/test_08_addons/test_825_hpgl2_drawing_backend.py::TestPlotterBackend::test_curves_are_ascii_encoded_relative_bezier_curves PASSED [ 93%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_draw_point PASSED [ 93%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_draw_solid_lines PASSED [ 93%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_draw_path PASSED [ 93%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_draw_filled_polygon PASSED [ 93%] tests/test_08_addons/test_826_custom_json_backend.py::TestCustomJSONBackend::test_json_str PASSED [ 93%] tests/test_08_addons/test_827_geojson_backend.py::test_properties PASSED [ 93%] tests/test_08_addons/test_827_geojson_backend.py::TestGeoJSONBackendNoProperties::test_draw_point PASSED [ 93%] tests/test_08_addons/test_827_geojson_backend.py::TestGeoJSONBackendNoProperties::test_draw_solid_lines PASSED [ 93%] tests/test_08_addons/test_827_geojson_backend.py::TestGeoJSONBackendNoProperties::test_draw_path PASSED [ 94%] tests/test_08_addons/test_827_geojson_backend.py::TestGeoJSONBackendNoProperties::test_draw_filled_polygon PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_is_immutable PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_x_y PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_2_tuple PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_vec2 PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_3_tuple PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_vec3 PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_init_type_error PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_compare PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_lower_than PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_is_null PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_bool PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_does_not_support_slicing PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[90] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[-90] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[600] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[-600] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[0.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[360.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[-360.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[720.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_deg_angle[-720.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[3.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[-3.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[10.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[-10.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[0.0] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[6.283185307179586] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[-6.283185307179586] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[12.566370614359172] PASSED [ 94%] tests/test_09_cython_acceleration/test_901_acc_vec2.py::test_normalize_rad_angle[-12.566370614359172] PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_is_immutable PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_x_y PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_2_tuple PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_vec2 PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_3_tuple PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_vec3 PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_init_type_error PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_is_null PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_bool PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_compare PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_lower_than PASSED [ 94%] tests/test_09_cython_acceleration/test_902_acc_vec3.py::test_does_not_support_slicing PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_16_numbers_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_4_rows_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_item PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_row_4_values PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_row_1_value PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_col_4_values PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_set_col_1_value PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_copy PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_get_origin PASSED [ 94%] tests/test_09_cython_acceleration/test_903_acc_matrix44.py::test_array_inplace_transformation PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_point PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_tangent PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_approximate PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_flattening PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_approximated_length PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_reverse PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_transform PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_arc_parameters[0-3.141592653589793] PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_arc_parameters[3.141592653589793-6.283185307179586] PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_arc_parameters[0-6.283185307179586] PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_arc[0-180] PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_arc[180-360] PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_arc[0-360] PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_ellipse[0-3.141592653589793] PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_ellipse[3.141592653589793-6.283185307179586] PASSED [ 94%] tests/test_09_cython_acceleration/test_904_acc_bezier4p.py::test_correctness_bezier_from_ellipse[0-6.283185307179586] PASSED [ 94%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_default_constructor PASSED [ 94%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_point PASSED [ 94%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_tangent PASSED [ 94%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_approximate PASSED [ 94%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_flattening PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_approximated_length PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_reverse PASSED [ 95%] tests/test_09_cython_acceleration/test_905_acc_bezier3p.py::test_transform PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_find_span PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_cython_knots PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_basis_funcs PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_basis_vector PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_weighted_basis_vector PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_basis_funcs_derivatives PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_weighted_basis_funcs_derivatives PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_point_evaluator PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_derivative_evaluator PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_weighted_point_evaluator PASSED [ 95%] tests/test_09_cython_acceleration/test_906_acc_bspline.py::test_weighted_derivative_evaluator PASSED [ 95%] tests/test_10_issues/test_issue_1078_bbox_calculation.py::test_bbox_lwpolyline_with_const_width PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePath::test_WCS_calculation PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePath::test_make_path PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePath::test_bounding_box_calculation PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePrimitive::test_make_primitive PASSED [ 95%] tests/test_10_issues/test_issue_414_bbox_calculation.py::TestMakePrimitive::test_bounding_box_calculation PASSED [ 95%] tests/test_10_issues/test_issue_557_reload_dimension_text_style.py::test_export_dimtxsty PASSED [ 95%] tests/test_10_issues/test_issue_557_reload_dimension_text_style.py::test_reload_dimtxsty PASSED [ 95%] tests/test_10_issues/test_issue_574_flattening_error.py::test_flattening_by_arc PASSED [ 95%] tests/test_10_issues/test_issue_574_flattening_error.py::test_flattening_by_ellipse PASSED [ 95%] tests/test_10_issues/test_issue_574_flattening_error.py::test_flattening_by_path PASSED [ 95%] tests/test_10_issues/test_issue_574_flattening_error.py::test_flattening_ellipse PASSED [ 95%] tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py::test_is_poly_face_mesh PASSED [ 95%] tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py::test_virtual_3dface_has_only_3_vertices PASSED [ 95%] tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py::test_virtual_3dface_does_not_include_NULLVEC PASSED [ 95%] tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py::test_mesh_builder PASSED [ 95%] tests/test_10_issues/test_issue_749_text_layout.py::test_parse_text PASSED [ 95%] tests/test_10_issues/test_issue_749_text_layout.py::test_explode_mtext PASSED [ 95%] tests/test_10_issues/test_issue_873_circle_inverted_normal.py::test_loaded_data PASSED [ 95%] tests/test_10_issues/test_issue_873_circle_inverted_normal.py::test_circle_with_inverted_normal PASSED [ 95%] integration_tests/test_acad_table.py::test_virtual_entities_from_block PASSED [ 95%] integration_tests/test_acad_table.py::test_virtual_entities_from_proxy_graphic PASSED [ 95%] integration_tests/test_acis_entites.py::test_apply_transformations_to_acis_entities PASSED [ 95%] integration_tests/test_acis_entites.py::test_export_and_reload_transformed_acis_entities PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1009] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1015] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1018] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1021] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1024] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1027] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_linear_dimline_all_arrow_style[AC1032] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_random_multi_point_linear_dimension PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1009] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1015] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1018] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1021] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1024] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1027] PASSED [ 95%] integration_tests/test_all_dimline_styles.py::test_draw_all_arrows[AC1032] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-2-2-2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--1-1-1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-1--1-1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-1-1--1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--2--2-2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-2--2--2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--2-2--2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--3--3--3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--1-2-3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-1--2-3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-1-2--3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--3--2-1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793-3--2--1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--3-2--1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0-3.141592653589793--3--2--1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-2-2-2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--1-1-1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1--1-1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1-1--1] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--2--2-2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-2--2--2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--2-2--2] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--3--3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--1-2-3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1--2-3] PASSED [ 95%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-1-2--3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--2-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287-3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3-2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[0.5235987755982988-5.759586531581287--3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-2-2-2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--1-1-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1--1-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1-1--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--2--2-2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-2--2--2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--2-2--2] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--3--3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--1-2-3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1--2-3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-1-2--3] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--2-1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988-3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3-2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_random_ellipse_transformations[5.759586531581287-0.5235987755982988--3--2--1] PASSED [ 96%] integration_tests/test_all_ellipse_transformations.py::test_error_config[config0] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1009] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1015] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1018] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1021] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1024] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1027] PASSED [ 96%] integration_tests/test_anonymous_blocks.py::test_create_anonymous_block[AC1032] PASSED [ 96%] integration_tests/test_appsettings.py::test_update_extents PASSED [ 96%] integration_tests/test_audit_critical_dxf_files.py::test_kit_dev_coldfire SKIPPED [ 96%] integration_tests/test_audit_critical_dxf_files.py::test_leica_disto_r12[Leica_Disto_S910.dxf] PASSED [ 96%] integration_tests/test_audit_layouts.py::test_find_orphaned_layouts PASSED [ 96%] integration_tests/test_audit_layouts.py::test_find_orphaned_block_record PASSED [ 96%] integration_tests/test_audit_layouts.py::test_load_MODEL PASSED [ 96%] integration_tests/test_complex_line_type_2.py::test_complex_line_type PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1009] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1015] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1018] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1021] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1024] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1027] PASSED [ 96%] integration_tests/test_create_basic_graphics.py::test_basic_graphics[AC1032] PASSED [ 96%] integration_tests/test_document_guid.py::test_guids_are_created_for_new_docs PASSED [ 96%] integration_tests/test_document_guid.py::test_guids_are_preserved_at_loading PASSED [ 96%] integration_tests/test_document_guid.py::test_fingerprint_guid_is_preserved_at_export PASSED [ 96%] integration_tests/test_document_guid.py::test_version_guid_changes_at_export PASSED [ 96%] integration_tests/test_document_page_setup.py::test_simple_page_setup_is_not_supported_for_DXF_R12 PASSED [ 96%] integration_tests/test_document_page_setup.py::test_reset_layout1_landscape PASSED [ 96%] integration_tests/test_document_page_setup.py::test_invalid_paper_format_returns_A3 PASSED [ 96%] integration_tests/test_document_page_setup.py::test_reset_layout1_portrait PASSED [ 96%] integration_tests/test_document_page_setup.py::test_resetting_layout1_creates_a_new_main_viewport PASSED [ 96%] integration_tests/test_document_page_setup.py::test_resetting_layout1_does_not_delete_entities PASSED [ 96%] integration_tests/test_document_page_setup.py::test_new_layout2 PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1009-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1009-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1015-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1015-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1018-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1018-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1021-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1021-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1024-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1024-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1027-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1027-bin] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1032-asc] PASSED [ 96%] integration_tests/test_dxf_info_scanning.py::test_dxf_info_scanning[AC1032-bin] PASSED [ 96%] integration_tests/test_dynblkhelper.py::test_direct_dynamic_block_references PASSED [ 96%] integration_tests/test_dynblkhelper.py::test_indirect_dynamic_block_references PASSED [ 96%] integration_tests/test_entities_iterator.py::test_entities_iterator[AC1009] PASSED [ 96%] integration_tests/test_entities_iterator.py::test_entities_iterator[AC1015] PASSED [ 96%] integration_tests/test_fix_dulicate_handles.py::test_recover_duplicate_handles[duplicate_handles.dxf] PASSED [ 96%] integration_tests/test_groups.py::test_load_dxf_with_groups PASSED [ 96%] integration_tests/test_groups.py::test_delete_group_content_and_export_dxf PASSED [ 96%] integration_tests/test_groups.py::test_reload_dxf_with_empty_group_content PASSED [ 96%] integration_tests/test_hpgl2_addon.py::test_svg_was_created PASSED [ 96%] integration_tests/test_hpgl2_addon.py::test_basic_svg_attributes PASSED [ 96%] integration_tests/test_ignore_junk_beyond_EOF.py::test_recover_ignores_junk_beyond_EOF PASSED [ 96%] integration_tests/test_ignore_junk_beyond_EOF.py::test_readfile_ignores_junk_beyond_EOF PASSED [ 96%] integration_tests/test_launcher.py::test_version PASSED [ 97%] integration_tests/test_launcher.py::test_audit_existing_file PASSED [ 97%] integration_tests/test_launcher.py::test_audit_file_not_found PASSED [ 97%] integration_tests/test_load_dxf_unicode_notation.py::test_load_special_dxf_unicode_notation[ASCII_R12.dxf] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[bad-diagonals-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[bad-diagonals-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[bad-hole-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[bad-hole-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[boxy-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[boxy-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[building-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[building-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[collinear-diagonal-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[collinear-diagonal-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[degenerate-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[degenerate-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[dude-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[dude-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[eberly-3-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[eberly-3-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[eberly-6-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[eberly-6-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[empty-square-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[empty-square-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[filtered-bridge-jhl-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[filtered-bridge-jhl-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hilbert-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hilbert-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hole-touching-outer-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hole-touching-outer-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hourglass-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[hourglass-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[infinite-loop-jhl-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[infinite-loop-jhl-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue107-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue107-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue119-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue119-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue131-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue131-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue149-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue149-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue16-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue16-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue17-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue17-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue29-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue29-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue34-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue34-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue35-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue35-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue45-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue45-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue52-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue52-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue83-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[issue83-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[outside-ring-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[outside-ring-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[rain-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[rain-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[self-touching-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[self-touching-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[shared-points-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[shared-points-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[simplified-us-border-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[simplified-us-border-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[steiner-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[steiner-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching-holes-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching-holes-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching2-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching2-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching3-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[touching3-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water-CPython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water-Cython] PASSED [ 97%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water2-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water2-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water3-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water3-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water3b-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water3b-Cython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water4-CPython] PASSED [ 98%] integration_tests/test_mapbox_earcut.py::test_mapbox_earcut[water4-Cython] PASSED [ 98%] integration_tests/test_missing_block_names.py::test_load_r12_blocks_with_no_name PASSED [ 98%] integration_tests/test_missing_block_names.py::test_load_r2000_blocks_with_recovered_names PASSED [ 98%] integration_tests/test_missing_block_names.py::test_load_r2000_blocks_with_no_name_and_no_block_record PASSED [ 98%] integration_tests/test_mtext_columns.py::test_load_mtext_columns_from_dxf_r2007[load] PASSED [ 98%] integration_tests/test_mtext_columns.py::test_load_mtext_columns_from_dxf_r2007[recover] PASSED [ 98%] integration_tests/test_mtext_columns.py::test_load_mtext_columns_from_dxf_r2018[load] PASSED [ 98%] integration_tests/test_mtext_columns.py::test_load_mtext_columns_from_dxf_r2018[recover] PASSED [ 98%] integration_tests/test_mtext_explode_addon.py::test_created_text_styles_exists PASSED [ 98%] integration_tests/test_mtext_explode_addon.py::test_addon_is_still_working PASSED [ 98%] integration_tests/test_mtext_text_frame.py::test_remove_mtext_text_frame_at_loading_stage[load] PASSED [ 98%] integration_tests/test_mtext_text_frame.py::test_remove_mtext_text_frame_at_loading_stage[recover] PASSED [ 98%] integration_tests/test_mtext_text_frame.py::test_remove_column_text_frames_at_loading_stage PASSED [ 98%] integration_tests/test_mtext_text_frame.py::test_do_not_export_mtext_text_borders PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1009] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1015] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1018] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1021] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1024] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1027] PASSED [ 98%] integration_tests/test_new_table_entries.py::test_adding_table_entries[AC1032] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1009] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1015] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1018] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1021] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1024] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1027] PASSED [ 98%] integration_tests/test_none_ascii_read_write.py::test_write_and_read_unicode[AC1032] PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_source_does_not_exist PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_source_has_unsupported_extension PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_destination_already_exist PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_destination_folder_does_not_exist PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_destination_has_unsupported_extension PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Not_Required::test_invalid_DXF_version PASSED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Required::test_dxf_to_dwg_same_stem SKIPPED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Required::test_dxf_to_dwg_new_stem SKIPPED [ 98%] integration_tests/test_odafc.py::Test_Convert_ODAFC_Required::test_upgrade_dxf_to_r2013 SKIPPED [ 98%] integration_tests/test_odafc.py::Test_Export_And_Load_DWG::test_export_dwg SKIPPED [ 98%] integration_tests/test_odafc.py::Test_Export_And_Load_DWG::test_read_dwg SKIPPED [ 98%] integration_tests/test_open_R13_R14.py::test_open_R13_R14[small_r13.dxf] PASSED [ 98%] integration_tests/test_open_R13_R14.py::test_open_R13_R14[small_r14.dxf] PASSED [ 98%] integration_tests/test_open_R13_R14.py::test_open_R13_R14[no_layouts.dxf] PASSED [ 98%] integration_tests/test_open_binary_DXF_files.py::test_open_R13_R14[bin_dxf_r14.dxf] PASSED [ 98%] integration_tests/test_open_binary_DXF_files.py::test_open_R13_R14[bin_dxf_r13.dxf] PASSED [ 98%] integration_tests/test_open_binary_DXF_files.py::test_open_R2000_with_xdata PASSED [ 98%] integration_tests/test_open_binary_DXF_files.py::test_open_R12 PASSED [ 98%] integration_tests/test_open_coord_order_issue.py::test_coordinate_order_problem[AC1003_LINE_Example.dxf] PASSED [ 98%] integration_tests/test_open_exotic_dxf_files.py::test_read_plain_cp936_chinese SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::test_read_from_zip SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestProE::test_read_ProE_file SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestProE::test_recover_ProE_file SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestCorruptCivil3D::test_readfile_and_preserve_errors_by_surrogate_escape SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestCorruptCivil3D::test_readfile_and_ignore_errors SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestCorruptCivil3D::test_readfile_and_raise_exception SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::TestCorruptCivil3D::test_recover SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::test_read_map_3d SKIPPED [ 98%] integration_tests/test_open_exotic_dxf_files.py::test_read_gerber_file SKIPPED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1009] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1015] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1018] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1021] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1024] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1027] PASSED [ 98%] integration_tests/test_polyline_entity.py::test_create_polyline_entities[AC1032] PASSED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_civil_3d_preserves_binary_data_in_xrecords[22C1] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_civil_3d_preserves_binary_data_in_xrecords[22C4] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_civil_3d_preserves_binary_data_in_xrecords[22C7] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_dxf_export_xrecords_with_binary_data[22C1-0] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_dxf_export_xrecords_with_binary_data[22C4-1] SKIPPED [ 98%] integration_tests/test_preserve_binary_data_in_xrecords.py::test_dxf_export_xrecords_with_binary_data[22C7-2] SKIPPED [ 98%] integration_tests/test_r12_with_subclass_markers.py::test_read_sublass_markers_in_r12_entities PASSED [ 98%] integration_tests/test_r12_with_subclass_markers.py::test_read_sublass_markers_in_r12_table_entries PASSED [ 98%] integration_tests/test_r12export.py::test_export_empty_doc PASSED [ 99%] integration_tests/test_r12export.py::test_export_dxf_primitives PASSED [ 99%] integration_tests/test_r12export.py::test_export_lwpolyline_as_polyline PASSED [ 99%] integration_tests/test_r12export.py::test_export_mesh_as_polyface_mesh PASSED [ 99%] integration_tests/test_r12export.py::test_export_ellipse_as_3d_polyline PASSED [ 99%] integration_tests/test_r12export.py::test_export_spline_as_3d_polyline PASSED [ 99%] integration_tests/test_r12export.py::test_export_proxy_graphic PASSED [ 99%] integration_tests/test_r12export.py::test_export_mtext PASSED [ 99%] integration_tests/test_r12export.py::test_export_virtual_entities PASSED [ 99%] integration_tests/test_r12export.py::test_export_hatch_pattern_fill PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_header_vars PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_appid PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_ltype PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_layer PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_text_style PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_dimstyle PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_ucs PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_view PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_vport PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_common_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_text_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_text_xdata PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_dimension_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_reference_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_modelspace_xdata PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_layout_names[MY_BLOCK_0_0] PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_layout_names[MY_BLOCK_1] PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_layout_names[MY_BLOCK_0_1] PASSED [ 99%] integration_tests/test_r12strict.py::test_translated_block_content_attributes PASSED [ 99%] integration_tests/test_r12strict.py::test_clean_xdata_from_table_entries PASSED [ 99%] integration_tests/test_r12strict.py::test_remove_legacy_blocks PASSED [ 99%] integration_tests/test_r12writer.py::test_if_exists PASSED [ 99%] integration_tests/test_r12writer.py::test_write_r12 PASSED [ 99%] integration_tests/test_r12writer.py::test_read_r12 PASSED [ 99%] integration_tests/test_r12writer.py::test_context_manager PASSED [ 99%] integration_tests/test_r12writer.py::test_write_and_read_binary_dxf PASSED [ 99%] integration_tests/test_read_file_without_handles.py::test_read_file_without_handles PASSED [ 99%] integration_tests/test_read_write_modern_entites.py::test_lwpolyline PASSED [ 99%] integration_tests/test_recover.py::test_bytes_loader PASSED [ 99%] integration_tests/test_recover.py::test_safe_tag_loader PASSED [ 99%] integration_tests/test_recover.py::test_rebuild_sections PASSED [ 99%] integration_tests/test_recover.py::test_build_section_dict PASSED [ 99%] integration_tests/test_recover.py::test_readfile_recover01_dxf PASSED [ 99%] integration_tests/test_recover.py::test_rebuild_tables PASSED [ 99%] integration_tests/test_recover.py::test_readfile_recover02_dxf PASSED [ 99%] integration_tests/test_recover.py::test_read_cc_dxflib_file PASSED [ 99%] integration_tests/test_recover.py::test_readfile_empty_handles_dxf PASSED [ 99%] integration_tests/test_recover.py::test_decode_dxf_unicode_automatically PASSED [ 99%] integration_tests/test_recover.py::test_recover_layout_broken_links_1 PASSED [ 99%] integration_tests/test_recover.py::test_recover_layout_broken_links_2 PASSED [ 99%] integration_tests/test_recover.py::test_recover_layout_missing_block_record PASSED [ 99%] integration_tests/test_recover.py::test_recover_layout_missing_block_definition PASSED [ 99%] integration_tests/test_redraw_order.py::test_unset_redraw_order_returns_empty_tuple PASSED [ 99%] integration_tests/test_redraw_order.py::test_set_redraw_order PASSED [ 99%] integration_tests/test_redraw_order.py::test_store_and_load_redraw_order PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1009] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1015] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1018] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1021] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1024] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1027] PASSED [ 99%] integration_tests/test_rotated_block_attributes.py::test_rotated_block[AC1032] PASSED [ 99%] integration_tests/test_surface_entities.py::test_get_acis_data_from_surfaces SKIPPED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_fixed_meta_data[R12] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_fixed_meta_data[R2000] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_fixed_meta_data[R2018] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_meta_data_is_different[R12] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_meta_data_is_different[R2000] PASSED [ 99%] integration_tests/test_write_fixed_meta_data.py::test_meta_data_is_different[R2018] PASSED [ 99%] integration_tests/test_write_without_handles.py::test_check_R12_has_handles[POLI-ALL210_12.DXF] PASSED [ 99%] integration_tests/test_write_without_handles.py::test_write_R12_without_handles[POLI-ALL210_12.DXF] PASSED [ 99%] integration_tests/test_xref_detach.py::test_xref_doc_has_required_properties PASSED [ 99%] integration_tests/test_xref_detach.py::test_detached_dxf_contains_all_block_entities PASSED [ 99%] integration_tests/test_xref_detach.py::test_xref_doc_has_required_resources PASSED [ 99%] integration_tests/test_xref_detach.py::test_source_block_is_empty PASSED [ 99%] integration_tests/test_xref_load_acis.py::test_load_acis_from_R2007 PASSED [ 99%] integration_tests/test_xref_load_acis.py::test_load_acis_from_R2013 PASSED [ 99%] integration_tests/test_xref_load_acis.py::test_load_acis_from_2007_into_2013 PASSED [ 99%] integration_tests/test_xref_load_acis.py::test_load_acis_from_2013_into_2007 PASSED [100%] =============================== warnings summary =============================== tests/test_07_render/test_708c_matplotlib_path_tools.py:6 /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/tests/test_07_render/test_708c_matplotlib_path_tools.py:6: PytestDeprecationWarning: Module 'matplotlib' was found, but when imported by pytest it raised: ImportError('initialization failed') In pytest 9.1 this warning will become an error by default. You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror pytest.importorskip("matplotlib") :488 :488 :488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute :488 :488 :488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute :488 :488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========== 7769 passed, 92 skipped, 1 xfailed, 6 warnings in 37.16s =========== :0: DeprecationWarning: builtin type swigvarlink has no __module__ attribute + find /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT -type f '(' -name '*.tt[fc]' -o -name '*.otf' -o -name '*.woff' -o -name '*.woff2' -o -name '*.eof' -o -name '*.sh[xp]' -o name '*.lff' ')' find: paths must precede expression: `name' + RPM_EC=0 ++ jobs -p + exit 0 Processing files: python3-ezdxf-1.3.4-5.fc42.aarch64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.3PKoYF + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + cd ezdxf-1.3.4 + DOCDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python3-ezdxf + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python3-ezdxf + cp -pr /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/README.md /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python3-ezdxf + RPM_EC=0 ++ jobs -p + exit 0 Provides: bundled(python3dist(py3dbp)) python-ezdxf = 1.3.4-5.fc42 python3-ezdxf = 1.3.4-5.fc42 python3-ezdxf(aarch-64) = 1.3.4-5.fc42 python3.13-ezdxf = 1.3.4-5.fc42 python3.13dist(ezdxf) = 1.3.4 python3dist(ezdxf) = 1.3.4 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: /usr/bin/python3 ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_ABI_DT_RELR)(64bit) python(abi) = 3.13 python3.13dist(fonttools) python3.13dist(numpy) python3.13dist(pyparsing) >= 2.0.1 python3.13dist(typing-extensions) >= 4.6 rtld(GNU_HASH) Obsoletes: python3-ezdxf+all < 0.17.2-7 Processing files: python3-ezdxf+draw-1.3.4-5.fc42.aarch64 Provides: python-ezdxf+draw = 1.3.4-5.fc42 python3-ezdxf+draw = 1.3.4-5.fc42 python3-ezdxf+draw(aarch-64) = 1.3.4-5.fc42 python3.13-ezdxf+draw = 1.3.4-5.fc42 python3.13dist(ezdxf[draw]) = 1.3.4 python3dist(ezdxf[draw]) = 1.3.4 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.13 python3.13dist(matplotlib) python3.13dist(pillow) python3.13dist(pymupdf) >= 1.20 python3.13dist(pyside6) Processing files: python3-ezdxf+draw5-1.3.4-5.fc42.aarch64 Provides: python-ezdxf+draw5 = 1.3.4-5.fc42 python3-ezdxf+draw5 = 1.3.4-5.fc42 python3-ezdxf+draw5(aarch-64) = 1.3.4-5.fc42 python3.13-ezdxf+draw5 = 1.3.4-5.fc42 python3.13dist(ezdxf[draw5]) = 1.3.4 python3dist(ezdxf[draw5]) = 1.3.4 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.13 python3.13dist(matplotlib) python3.13dist(pillow) python3.13dist(pymupdf) >= 1.20 python3.13dist(pyqt5) Processing files: python-ezdxf-doc-1.3.4-5.fc42.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.0q6XXV + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + cd ezdxf-1.3.4 + DOCDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python-ezdxf-doc + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python-ezdxf-doc + cp -pr /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/README.md /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python-ezdxf-doc + cp -pr /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/autolisp /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python-ezdxf-doc + cp -pr /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/examples /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python-ezdxf-doc + cp -pr /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/examples_dxf /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python-ezdxf-doc + cp -pr /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/examples_hpgl2 /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python-ezdxf-doc + cp -pr /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/exploration /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/doc/python-ezdxf-doc + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.l1yugk + umask 022 + cd /builddir/build/BUILD/python-ezdxf-1.3.4-build + cd ezdxf-1.3.4 + LICENSEDIR=/builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/licenses/python-ezdxf-doc + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/licenses/python-ezdxf-doc + cp -pr /builddir/build/BUILD/python-ezdxf-1.3.4-build/ezdxf-1.3.4/LICENSE /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT/usr/share/licenses/python-ezdxf-doc + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-ezdxf-doc = 1.3.4-5.fc42 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: python-ezdxf-debugsource-1.3.4-5.fc42.aarch64 Provides: python-ezdxf-debugsource = 1.3.4-5.fc42 python-ezdxf-debugsource(aarch-64) = 1.3.4-5.fc42 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: python3-ezdxf-debuginfo-1.3.4-5.fc42.aarch64 Provides: debuginfo(build-id) = 3229754954c5ddb26ed5426360921eda89a2b576 debuginfo(build-id) = 39745f7fd99c598f9883fd761c27c03feedf8a61 debuginfo(build-id) = 4724da0847061d4659eae765af8d81a459fd5989 debuginfo(build-id) = 5e3c794cafd74c95036a6e7957c0550ae992e334 debuginfo(build-id) = 7bb7995b09d43672bfb8cbd2e7c9b01831924d37 debuginfo(build-id) = 9943c7d8fd268f6518a47aa5a0d7e87a0b9bcac1 debuginfo(build-id) = b9c395048d1997248650ad65ec98ce6e67112acd debuginfo(build-id) = d9799eb19e0b15ba98d447c418cacdffa5100338 debuginfo(build-id) = e75bff3a9e3f9ba062adb60622b68b30be5d2b08 python-ezdxf-debuginfo = 1.3.4-5.fc42 python3-ezdxf-debuginfo = 1.3.4-5.fc42 python3-ezdxf-debuginfo(aarch-64) = 1.3.4-5.fc42 python3.13-ezdxf-debuginfo = 1.3.4-5.fc42 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: python-ezdxf-debugsource(aarch-64) = 1.3.4-5.fc42 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/python-ezdxf-1.3.4-build/BUILDROOT Wrote: /builddir/build/SRPMS/python-ezdxf-1.3.4-5.fc42.src.rpm Wrote: /builddir/build/RPMS/python3-ezdxf+draw-1.3.4-5.fc42.aarch64.rpm Wrote: /builddir/build/RPMS/python3-ezdxf+draw5-1.3.4-5.fc42.aarch64.rpm Wrote: /builddir/build/RPMS/python-ezdxf-doc-1.3.4-5.fc42.noarch.rpm Wrote: /builddir/build/RPMS/python3-ezdxf-debuginfo-1.3.4-5.fc42.aarch64.rpm Wrote: /builddir/build/RPMS/python-ezdxf-debugsource-1.3.4-5.fc42.aarch64.rpm Wrote: /builddir/build/RPMS/python3-ezdxf-1.3.4-5.fc42.aarch64.rpm Child return code was: 0